リモートPowerShellセッションを介してExchange 2010コマンドレットを実行するのに問題があります。
ローカル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コマンドレットはどれも機能していません。問題は何でしょうか?
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
次に、スナップインを追加して、コマンドを実行します
問題は、両方のマシンが同じドメインにある必要があることです。
また、ローカルアカウントではなく、ドメインアカウントを使用していることを確認してください。
Exchange管理ツールをDVDからインストールして、ワークステーションを構成しましたか?
通常のExchangeインストールの一部であるリモートエンドポイントの使用をお勧めします。詳細はこちら こちら
EX 2010とEX 2013の両方で正常に使用しました。サポートされている方法であり、RBACルールに従っているため、Exchangeスナップピンを「通常の」リモートエンドポイントに追加するのではなく、使用することをお勧めします。