Exchange Online Protection の PowerShell への接続

この記事では、多要素認証 (MFA) の有無にかかわらず、Exchange Online PowerShell モジュールを使用して Exchange Online Protection PowerShell に接続する方法について説明します。

Exchange Online PowerShell モジュールでは、Microsoft 365 のすべての Exchange 関連 PowerShell 環境 (Exchange Online PowerShell、Security & Compliance PowerShell、スタンドアロン Exchange Online Protection (EOP) PowerShell) への接続に最新の認証を使用します。 モジュールの詳細については、「Exchange Online PowerShell モジュールについて」を参照してください。

PowerShell のExchange Online Protectionの詳細については、「Exchange Online Protection PowerShell」を参照してください。

注:

2020 年 6 月の時点で、スタンドアロン Exchange Online Protection PowerShell と powerShell Exchange Onlineに接続する手順は基本的に同じです。 Connect-IPPSSession コマンドレットを ConnectionUri パラメーター値https://ps.protection.outlook.com/powershell-liveid/と共に使用する場合は、PowerShell 接続に対して Connect-ExchangeOnline によって使用されるのと同じhttps://outlook.office365.com/powershell-liveid/エンドポイントExchange Onlineリダイレクトされます。

Exchange Online PowerShell のリモート PowerShell 接続は非推奨になりました。 詳細については、「Exchange Onlineでのリモート PowerShell の非推奨」を参照してください。

Exchange Online PowerShell V3 モジュールの REST API 接続には、PowerShellGet モジュールと PackageManagement モジュールが必要です。 詳細については、「 Windows での REST ベースの接続用 PowerShellGet」を参照してください。

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

ヒント

問題が発生する場合 Exchange Online Protection フォーラムでサポートをご依頼ください。

MFA の有無にかかわらず最新の認証を使用して、Exchange Online Protection PowerShell に接続する

これらの接続手順では、最新の認証を使用し、多要素認証 (MFA) の有無にかかわらず動作します。

手順 1: Exchange Online PowerShell モジュールを読み込む

注:

モジュールが既にインストールされている場合は、通常、この手順をスキップし、最初にモジュールを手動で読み込まずに Connect-ExchangeOnline を実行できます。

モジュールをインストールしたら、PowerShell ウィンドウを開き、次のコマンドを実行してモジュールを読み込みます。

Import-Module ExchangeOnlineManagement

手順 2: 接続して認証する

注:

接続に使用したアカウントのプロファイル パスに特殊な PowerShell 文字 (など) が含まれている場合、 $接続コマンドは失敗する可能性があります。 回避策は、プロファイル パスに特殊文字を含まない別のアカウントを使用して接続することです。

実行する必要があるコマンドでは、次の構文を使用します。

Connect-ExchangeOnline -UserPrincipalName <UPN> [-ShowBanner:$false]

詳細な構文とパラメーターについては、「Connectt-IPPSSession」を参照してください。

対話型ログイン プロンプトを使用して PowerShell Exchange Online Protectionに接続する

この例は、MFA の有無にかかわらず、Windows PowerShell 5.1 と PowerShell 7 で機能します。

Connect-ExchangeOnline -UserPrincipalName navin@contoso.onmicrosoft.com

手順 3: 完了したら切断する

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

Disconnect-ExchangeOnline

確認プロンプトなしでサイレント切断するには、次のコマンドを実行します。

Disconnect-ExchangeOnline -Confirm:$false

正常に接続されているのはどうすればわかりますか?

Exchange Online Protection コマンドレットがローカル Windows PowerShell セッションにインポートされ、プログレスバーに表示されます。 エラーが表示されない場合は、正常に接続されています。 簡単なテストでは、Get-AcceptedDomain などのExchange Online Protection コマンドレットを実行し、結果を確認します。

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

  • よく起きる問題はパスワードの入力ミスです。 接続手順をもう一度実行し、使用するユーザー名とパスワードに細心の注意を払います。

  • ローカル コンピューターと Microsoft 365 の間に TCP ポート 80 のトラフィックを開く必要があります。 このポートは多くの場合開いているはずですが、組織で厳格なインターネット アクセス ポリシーが使用されている場合は、念のために確認する必要があります。

  • 接続要求中にクライアントの IP アドレスが変更された場合、接続に失敗する場合があります。 これは、組織が複数の IP アドレスを含むソース ネットワーク アドレス変換 (SNAT) プールを使用している場合に発生する可能性があります。 この接続エラーは次のようになります。

    ShellId <ID> を持つ Windows リモート シェルの要求は、サーバーでシェルが見つからなかったため失敗しました。 考えられる原因としては、指定された ShellId が正しくないか、サーバーにシェルが存在しなくなったことが考えられます。 正しい ShellId を提供するか、新しいシェルを作成して操作をやり直してください。

    この問題を解決するには、単一の IP アドレスを含む SNAT プールを使用するか、Exchange Online Protection PowerShell エンドポイントへの接続に特定の IP アドレスを強制的に使用します。