セキュリティ/コンプライアンス PowerShell に接続する
Exchange Online PowerShell V2 モジュール (EXO V2 モジュールと省略されています) は、先進認証を使用し、Microsoft 365 のすべての Exchange 関連 PowerShell 環境 (Exchange Online PowerShell、セキュリティ/コンプライアンス PowerShell、およびスタンドアロン型 Exchange Online Protection (EOP) PowerShell) に接続するために多要素認証 (MFA) と連携します。EXO V2モジュールの詳細については、「Exchange Online PowerShell V2 モジュールについて」をご覧ください。
この記事では、MFA の有無にかかわらず、EXO V2 モジュールを使用してセキュリティ/コンプライアンス PowerShell に接続する方法について説明します。
最終的に廃止される、以前の、安全性の低いリモート PowerShell の接続手順を使用するには、「基本的な認証 - セキュリティ/コンプライアンス PowerShell に接続する」を参照してください。
以前の Exchange Online リモート PowerShell モジュールを使用して、MFA を使用するセキュリティ/コンプライアンス PowerShell に接続するには、「V1 モジュール - MFA を使用してセキュリティ/コンプライアンス PowerShell に接続する」を参照してください。 この以前のバージョンのモジュールは最終的に廃止されることにご注意ください。
はじめに把握しておくべき情報
EXO V2 モジュールをインストールして使用するための要件は、「EXO V2 モジュールをインストールして維持する」に記載されています。 記事の残りの手順では、モジュールがすでにインストールされていることを前提としています。
注意
セキュリティとコンプライアンス PowerShell は、EXO V2 モジュールの前提条件 で説明したように、WinRM で基本認証を必要とします。 WinRM で基本認証を無効にできる REST API コマンドレットは、Connect-IPPSSession コマンドレットではまだ使用できません。 詳細については、「 バージョン 2.0.6 の更新プログラム」を参照してください。
接続後、アクセスできるまたはアクセスできないコマンドレットとパラメーターは、役割ベースのアクセス制御 (RBAC) によって制御されます。 詳細については、「Microsoft 365 Defender ポータルのアクセス許可」 および 「Microsoft Purview コンプライアンス ポータルのアクセス許可」 を参照してください。
MFA を利用または利用しない先進認証を使用して Exchange Online PowerShell に接続する
これらの接続手順では、最新の認証を使用し、多要素認証 (MFA) の有無にかかわらず動作します。
Windows PowerShell ウィンドウで、次のコマンドを実行して EXO V2 モジュールを読み込みます。
Import-Module ExchangeOnlineManagement注意:
- すでに、EXO V2 モジュールをインストールしている場合は、前のコマンドは表示のとおり機能します。
- モジュールを最初に読み込まずに、この手順を省略して Connect-IPPSSession を実行できる場合があります。
実行する必要があるコマンドでは、次の構文を使用します。
Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <URL>] [-AzureADAuthorizationEndpointUri <URL>] [-PSSessionOption $ProxyOptions]- <UPN> は、ユーザー プリンシパル名の形式 (
navin@contoso.comなど) のアカウントです。 - 必須の ConnectionUri の値は、Microsoft 365 組織の種類によって異なります。 詳細については、「Connect-IPPSSession の次の例またはパラメーターの説明」 を参照してください。
- AzureADAuthorizationEndpointUri パラメーターは、一部の環境では必須であり、それ以外の環境では必須ではありません。 詳細については、「Connect-IPPSSession の次の例またはパラメーターの説明」 を参照してください。
- プロキシ サーバーを使用している場合は、最初に次のコマンドを実行します。
$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>: このコマンドの <Value> は、IEConfig、WinHttpConfig、AutoDetectのいずれかです。 次に、値$ProxyOptionsを指定して、PSSessionOption パラメーターを使用します。 詳細については、「New-PSSessionOption」を参照してください。 - 組織の性質によっては、次の手順で UserPrincipalName パラメーターを省略できる場合があります。 代わりに、ユーザー名とパスワードを入力するか、Connect-IPPSSession コマンドを実行した後に保存されている資格情報を選択します。 機能しない場合は、UserPrincipalName パラメーターを使用する必要があります。
- MFA を使用していない場合は、多くの場合、UserPrincipalName パラメーターではなく Credential パラメーターを使用できます。 まず、コマンド
$Credential = Get-Credentialを実行し、ユーザー名とパスワードを入力し、 Credential パラメーター (-Credential $Credential) に変数名を使用します。 機能しない場合は、UserPrincipalName パラメーターを使用する必要があります。
この例では、Microsoft 365 または Microsoft 365 GCC 組織でセキュリティ/コンプライアンス PowerShell に接続します。
Connect-IPPSSession -UserPrincipalName navin@contoso.comこの例では、21Vianet 組織によって操作される Office 365 でセキュリティ/コンプライアンス PowerShell に接続します。
Connect-IPPSSession -UserPrincipalName li@fabrikam.cn -ConnectionUri https://ps.compliance.protection.partner.outlook.cn/powershell-liveidこの例では、Microsoft GCC High 組織でセキュリティ/コンプライアンス PowerShell に接続します。
Connect-IPPSSession -UserPrincipalName chris@govt.us -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/commonこの例では、Microsoft 365 DoD 組織でセキュリティ/コンプライアンス PowerShell に接続します。
Connect-IPPSSession -UserPrincipalName michelle@govt.mil -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common- <UPN> は、ユーザー プリンシパル名の形式 (
詳細な構文とパラメーターについては、「Connectt-IPPSSession」を参照してください。
注意
完了した時点でリモート PowerShell セッションを切断してください。セッションを切断せずに Windows PowerShell ウィンドウを閉じると、使用可能なリモート PowerShell セッションがすべて消費される可能性があるため、セッションの有効期限が切れるまで待つ必要があります。リモート PowerShell セッションを切断するには、次のコマンドを実行します。
Disconnect-ExchangeOnline
正常な動作を確認する方法
セキュリティ/コンプライアンス PowerShell コマンドレットがローカル Windows PowerShell セッションにインポートされ、進行状況バーで追跡されます。 何もエラーが表示されなければ、正常に接続されています。 簡単にテストするには、Get-Ret-RentionCompliancePolicy などの、セキュリティ/コンプライアンス PowerShell コマンドレットを実行して、結果を確認します。
エラーが表示された場合は、次の要件を確認します。
一般的な問題はパスワードの入力ミスです。もう一度 3 つのステップを実行し、使用するユーザー名とパスワードを慎重に入力します。
サービス拒否 (DoS) 攻撃を防ぐため、セキュリティ/コンプライアンス PowerShell に対して開かれるリモート PowerShell 接続は 5 つに制限されます。
接続に使うアカウントは、リモート PowerShell に対して有効になっている必要があります。詳しくは、「Exchange Online でリモート PowerShell アクセスを管理する」をご覧ください。
ローカル コンピューターと Microsoft 365 の間に TCP ポート 80 トラフィックを開く必要があります。開いている可能性もありますが、組織で厳格なインターネット アクセス ポリシーが使用されている場合は、確認する必要があります。
接続要求中にクライアントの IP アドレスが変更された場合、接続に失敗する場合があります。 これは、組織が複数の IP アドレスを含むソース ネットワーク アドレス変換 (SNAT) プールを使用している場合に発生する可能性があります。 この接続エラーは次のようになります。
ShellId <ID> を使用した Windows リモート シェルの要求が失敗しました。サーバーにシェルが見つかりませんでした。 考えられる原因としては、指定された ShellId が正しくないか、サーバーにシェルが存在しなくなったことが考えられます。 正しい ShellId を提供するか、新しいシェルを作成して操作をやり直してください。
この問題を解決するには、単一の IP アドレスを含む SNAT プールを使用するか、セキュリティ/コンプライアンス PowerShell エンドポイントへの接続に特定の IP アドレスを強制的に使用します。