Exchange Online Protection の PowerShell への接続
この記事では、多要素認証 (MFA) の有無にかかわらず、Exchange Online PowerShell モジュールを使用して Exchange Online Protection PowerShell に接続する方法について説明します。
Exchange Online PowerShell モジュールでは、最新の認証を使用して、Microsoft 365 のすべての Exchange 関連 PowerShell 環境 (Exchange Online PowerShell、セキュリティ & コンプライアンス PowerShell、スタンドアロン Exchange Online Protection (EOP) PowerShell) に接続します。 モジュールの詳細については、「 Exchange Online PowerShell モジュールについて」を参照してください。
Exchange Online Protection PowerShell の詳細については、「 Exchange Online Protection PowerShell」を参照してください。
注:
2020 年 6 月の時点で、スタンドアロンの Exchange Online Protection PowerShell と Exchange Online PowerShell に接続するための手順は基本的に同じです。
Connect-IPPSSession コマンドレットを ConnectionUri パラメーター値https://ps.protection.outlook.com/powershell-liveid/
使用する場合は、Exchange Online PowerShell 接続用の Connect-ExchangeOnline で使用されているのと同じhttps://outlook.office365.com/powershell-liveid/
エンドポイントにリダイレクトされます。
Exchange Online PowerShell でのリモート PowerShell 接続は非推奨になりました。 詳細については、「 Exchange Online でのリモート PowerShell の廃止」を参照してください。
Exchange Online PowerShell V3 モジュールの REST API 接続には、PowerShellGet モジュールと PackageManagement モジュールが必要です。 詳細については、「 Windows での REST ベースの接続用 PowerShellGet」を参照してください。
はじめに把握しておくべき情報
モジュールのインストールと使用に関する要件については、「 Exchange Online PowerShell モジュールのインストールと保守」を参照してください。
接続後、アクセスできるまたはアクセスできないコマンドレットとパラメーターは、役割ベースのアクセス制御 (RBAC) によって制御されます。 詳細については、「スタンドアロン EOP のアクセス許可」を参照してください。
ヒント
問題が発生する場合 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」を参照してください。
<UPN> は、ユーザー プリンシパル名の形式 (たとえば、
navin@contoso.onmicrosoft.com
) のアカウントです。EXO V3 モジュール (v3.0.0 以降) と 、Exchange Online への基本認証 (リモート PowerShell) 接続の廃止により、REST API コマンドレットのみを使用しています。 詳細については、 EXO V3 モジュールの REST API 接続に関するページを参照してください。
対話型ログイン プロンプトを使用して Exchange Online Protection PowerShell に接続する
この例は、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 セッションにインポートされ、プログレスバーに表示されます。 エラーが表示されない場合は、正常に接続されています。 簡単なテストでは、Exchange Online Protection コマンドレット ( Get-AcceptedDomain など) を実行し、結果を確認します。
エラーが表示された場合は、次の要件を確認します。
よく起きる問題はパスワードの入力ミスです。 接続手順をもう一度実行し、使用するユーザー名とパスワードに細心の注意を払います。
ローカル コンピューターと Microsoft 365 の間に TCP ポート 80 のトラフィックを開く必要があります。 このポートは多くの場合開いているはずですが、組織で厳格なインターネット アクセス ポリシーが使用されている場合は、念のために確認する必要があります。
接続要求中にクライアントの IP アドレスが変更された場合、接続に失敗する場合があります。 これは、組織が複数の IP アドレスを含むソース ネットワーク アドレス変換 (SNAT) プールを使用している場合に発生する可能性があります。 この接続エラーは次のようになります。
ShellId <ID を持つ Windows リモート シェルの要求> 、シェルがサーバー上に見つからなかったため失敗しました。 考えられる原因としては、指定された ShellId が正しくないか、サーバーにシェルが存在しなくなったことが考えられます。 正しい ShellId を提供するか、新しいシェルを作成して操作をやり直してください。
この問題を解決するには、単一の IP アドレスを含む SNAT プールを使用するか、Exchange Online Protection PowerShell エンドポイントへの接続に特定の IP アドレスを強制的に使用します。