Exchange 2010이 포함 된 PowerShell Remoting : 값은 null 일 수 없습니다. Enter-PSSession $mailSession [MAILSRV]: PS C:\Users\jdoe\Documents> Add-PSSnapin

원격 PowerShell 세션을 통해 Exchange 2010 cmdlet을 실행하는 데 문제가 있습니다.

로컬 PowerShell 세션을 관리자로 시작하고 다음 명령을 실행합니다.

PS C:\Windows\system32> $mailcred = Get-Credential
PS C:\Windows\system32> $mailSession = New-PSSession -ComputerName MAILSRV -Credential $mailcred
PS C:\Windows\system32> Enter-PSSession $mailSession
[MAILSRV]: PS C:\Users\jdoe\Documents> Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
[MAILSRV]: PS C:\Users\jdoe\Documents> hostname
MAILSRV
[MAILSRV]: PS C:\Users\jdoe\Documents> Get-ExchangeServer
Value cannot be null.    
Parameter name: serverSettings
    + CategoryInfo          : 
    + FullyQualifiedErrorId : System.ArgumentNullException,Microsoft.Exchange.Management.SystemConfigurationTasks.GetExchangeServer

[MAILSRV]: PS C:\Users\jdoe\Documents> get-mailbox
Value cannot be null.    
Parameter name: serverSettings
    + CategoryInfo          : 
    + FullyQualifiedErrorId : System.ArgumentNullException,Microsoft.Exchange.Management.RecipientTasks.GetMailbox

보다시피, 작동중인 Exchange cmdlet은 없습니다. 무엇이 문제 일 수 있습니까?



답변

Exchange Server의 기본 원격 엔드 포인트에 연결하고 거기에서 ps 스냅인을 추가하려고합니다. 이것은 잘못이다. 처음 3 줄을 다음과 같이 바꾸십시오.

$mailcred = Get-Credential
$mailSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://MAILSRV/PowerShell/ -Credential $mailcred
Import-PsSession $mailSession

세션을 입력 할 필요가 없으며 대신 로컬 세션으로 가져 오십시오. 이제부터 Exchange 관련 CmdLets를 로컬로 사용할 수 있습니다. 또한 일부 Exchange .Net 유형은 Exchange 관리 콘솔과 함께 설치되므로 사서함 크기로 작업하려는 경우 로컬 컴퓨터에 설치해야합니다 (Exchange는 크기 개체에 고유 한 유형을 사용함)


답변

import-pssesion과 connectionURI & ConfigurationName을 지정하여 이와 같이 할 수 있습니다.

PS U:\> $cred = Get-Credential
PS U:\> $session = New-PSSession -ConnectionUri http://Exchange01/powershell -ConfigurationName Microsoft.Exchange -Credential $cred
PS U:\> Import-PSSession $session
PS U:\> Get-Mailbox marius.davidsen

Name                      Alias                ServerName       ProhibitSendQuota                                                                                        
----                      -----                ----------       -----------------                                                                                        
Marius Davidsen           Marius.Davidsen      Exchange01       unlimited             

방화벽에서 TCP 포트 80을 허용해야합니다.

해당 세션을 사용하여 원하는대로 입력 할 수도 있습니다.

PS U:\> Enter-PSSession $session
[Exchange01]: PS> get-mailbox
[Exchange01]: PS> get-mailbox marius.davidsen

Name                      Alias                ServerName       ProhibitSendQuota                                                                                        
----                      -----                ----------       -----------------                                                                                        
Marius Davidsen           Marius.Davidsen      Exchange01       unlimited         


답변

나는 한 번 같은 문제가 있었다. 나는 해결책이 이것이라고 생각한다.

$s=new-pssession -computername xxxxx
import-pssession -session $s

그런 다음 스냅인을 추가하고 명령을 실행하십시오.

출처 : http://forums.veeam.com/viewtopic.php?f=2&t=7514


답변

DVD에서 Exchange 관리 도구를 설치하고 워크 스테이션을 구성 했습니까?


답변

정상적인 교환 설치의 일부인 원격 엔드 포인트를 사용하는 것이 좋습니다. 자세한 내용은 여기를 참조 하십시오

EX 2010과 EX 2013에서 모두 성공적으로 사용했습니다. 지원되는 방식과 RBAC 규칙을 따르므로 “일반”원격 엔드 포인트에 Exchange 스냅 핀을 추가하는 대신이를 사용하는 것이 좋습니다.


답변

문제는 두 머신이 같은 도메인에 있어야한다는 것입니다.

또한 로컬 계정이 아닌 도메인 계정을 사용해야합니다.


답변