リモート PowerShell を使用した Exchange サーバーへの接続

ローカルコンピューターに Exchange 管理ツールがインストールされていない場合は、Windows PowerShell を使用して、Exchange サーバーへのリモート PowerShell セッションを作成できます。 これは、資格情報を入力し、必要な接続設定を指定し、Exchange コマンドレットをローカル Windows PowerShell セッションにインポートする、簡単な 3 つの手順のプロセスです。

注:

  • Exchange サーバーの広範囲にわたる管理に使用するコンピューターでは、Exchange 管理シェルを使用することをお勧めします。 Exchange 管理ツールをインストールして、Exchange 管理シェルを取得できます。 詳細については、「Exchange Server 管理ツールをインストールする」および「Exchange 管理シェルを開く」を参照してください。 Exchange 管理シェルの詳細については、「Exchange サーバー PowerShell (Exchange 管理シェル) 」を参照してください。

  • Get-ExchangeCertificate コマンドレットは、リモート PowerShell を完全にはサポートしていません。 代わりに Exchange 管理シェルを使用して、証明書オブジェクトのすべてのプロパティを表示することをお勧めします。

はじめに把握しておくべき情報

  • 予想所要時間 : 5 分未満

  • 接続後、アクセスできるまたはアクセスできないコマンドレットとパラメーターは、役割ベースのアクセス制御 (RBAC) によって制御されます。 詳細については、「Exchange Server のアクセス許可」を参照してください。

  • 次の Windows のバージョンを使用できます。

    • Windows 11
    • Windows 10
    • Windows 8.1
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 または Windows Server 2012 R2
    • Windows 7 Service Pack 1 (SP1)*
    • Windows Server 2008 R2 SP1*

    * このバージョンの Windows はサポートが終了しており、Azure 仮想マシンでのみサポートされます。 このバージョンの Windows を使用するには、Microsoft .NET Framework 4.5 以降をインストールしてから、Windows Management Framework の更新されたバージョン (3.0、4.0、5.1 のいずれか 1 つ) をインストールする必要があります。 詳細については、「.NET FrameworkWindows Management Framework 3.0Windows Management Framework 4.0、および Windows Management Framework 5.1をインストールする」を参照してください。

  • Windows PowerShellを、スクリプトを実行するように構成する必要があります。既定では、スクリプトを実行するように構成されていません。 接続しようとすると、次のエラーが発生します。

    このシステムでスクリプトの実行が無効になっているため、ファイルを読み込めません。 ファイルの署名に使用する有効な証明書を指定します。

    インターネットからダウンロードしたすべての PowerShell スクリプトが信頼された発行元によって署名されていることを要求するには、管理者特権の Windows PowerShell ウィンドウ ([管理者として実行] を選択したときに開く Windows PowerShell ウィンドウ) で次のコマンドを実行します。

    Set-ExecutionPolicy RemoteSigned
    

    実行ポリシーの詳細については、「実行ポリシーについて」を参照してください。

ヒント

問題がある場合は、 Exchange Server フォーラムでサポートを依頼してください。

リモート Exchange サーバーに接続する

  1. ローカル コンピューターで、Windows PowerShell を開き、次のコマンドを実行します。

    $UserCredential = Get-Credential
    

    いた [資格情報要求のWindows PowerShell] ダイアログ ボックスで、ユーザー プリンシパル名 (UPN) (などchris@contoso.com) とパスワードを入力し、[OK] を選択します

  2. <ServerFQDN>Exchange サーバーの完全修飾ドメイン名 (たとえば、mailbox01.contoso.com) に置き換えて、次のコマンドを実行します。

    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://<ServerFQDN>/PowerShell/ -Authentication Kerberos -Credential $UserCredential
    

    ConnectionUri 値はhttpsではなくhttpです。

  3. 次のコマンドを実行します。

    Import-PSSession $Session -DisableNameChecking
    

注:

完了した時点でリモート PowerShell セッションを切断してください。 セッションを切断せずに Windows PowerShell ウィンドウを閉じると、使用可能なリモート PowerShell セッションがすべて消費される可能性があるため、セッションの有効期限が切れるまで待つ必要があります。 リモート PowerShell セッションを切断するには、次のコマンドを実行します。

Remove-PSSession $Session

正常に接続されたことを知る方法を教えてください。

ステップ 3 の後に、Exchange コマンドレットがローカル Windows PowerShell セッションにインポートされます。その様子がプログレスバーに表示されます。 何もエラーが表示されなければ、正常に接続されています。 簡単に確かめるには、Exchange コマンドレット (Get-Mailbox など) を実行して結果を確認します。

エラーが表示された場合は、次の要件を確認します。

  • よく起きる問題はパスワードの入力ミスです。 もう一度 3 つのステップを実行します。特に、ステップ 1 のユーザー名とパスワードは慎重に入力します。

  • Exchange サーバーへの接続に使用するアカウントでリモート PowerShell アクセスを有効にする必要があります。 詳細については、「Exchange サーバーへのリモート PowerShell アクセスを制御する」を参照してください。

  • ローカル コンピューターと Exchange サーバーの間で TCP ポート 80 トラフィックが開いている必要があります。 おそらくもともと開いていますが、組織が制限的なネットワークアクセスポリシーを使用していないかを確認する必要があります。

関連項目

この記事で使用するコマンドレットは Windows PowerShell コマンドレットです。 これらのコマンドレットの詳細については、次の記事を参照してください。