V1 モジュール - MFA を使用してセキュリティ & コンプライアンス PowerShell に接続する

注意

この記事で説明する古いExchange Onlineリモート PowerShell モジュールのサポートは、2022 年 8 月 31 日に終了します。 このバージョンのモジュールを使用して Security & Compliance PowerShell に接続する機能は、2022 年 12 月 31 日に終了します。

Exchange Online PowerShell V2 モジュール (EXO V2 モジュール) を使用することをお勧めします。これは最新の認証のみを使用し、MFA の有無にかかわらずアカウントをサポートします。 インストールと接続の手順については、「 EXO V2 モジュールのインストールと保守」とセキュリティ&コンプライアンス PowerShell への接続」を参照してください。 Exchange Online PowerShell モジュールのさまざまなバージョンの詳細については、「PowerShell モジュールと Basic Auth の異なるバージョンExchange Online理解する」を参照してください。

アカウントで多要素認証 (MFA) またはフェデレーション認証を使用している場合は、「 Basic auth - セキュリティへの接続&コンプライアンス PowerShell 」の手順を使用して、リモート PowerShell を使用してセキュリティ &コンプライアンス PowerShell に接続することはできません。 代わりに、Exchange Onlineリモート PowerShell モジュールをインストールし、Connect-IPPSSession コマンドレットを使用して Security & Compliance PowerShell に接続する必要があります。

:

  • 委任されたアクセス許可 (DAP) パートナーは、この記事の手順を使用して、Security & Compliance PowerShell の顧客テナント組織に接続することはできません。 MFA とExchange Onlineリモート PowerShell モジュールは、委任された認証では機能しません。

  • Exchange Onlineリモート PowerShell モジュールは、PowerShell Core (macOS、Linux、または Windows Nano Server) ではサポートされていません。 回避策として、サポートされているバージョンの Windows (物理または仮想) を実行しているコンピューターにモジュールをインストールし、リモート デスクトップ ソフトウェアを使用して接続できます。

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

  • 予想所要時間 : 5 分

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

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

    • 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をインストールする」を参照してください。

  • WinRM は基本認証を許可する必要があります (既定で有効になっています)。ユーザー名とパスワードの組み合わせは送信しませんが、クライアント側の WinRM 実装は OAuth をサポートしていないため、セッションの OAuth トークンを転送するには基本認証ヘッダーが必要です。

    :次のコマンドを実行するには、WinRM を一時的に有効にする必要があります。 次のコマンドを実行して有効にできますwinrm quickconfig

    WinRM で基本認証が有効になっていることを確認するには、コマンド プロンプトで(Windows PowerShell ではなく)、次のコマンドを実行します:

    winrm get winrm/config/client/auth
    

    Basic = true の値が表示されない場合は、コマンド プロンプトで(Windows PowerShell ではなく)、次のコマンドを実行して WinRM の基本認証を有効にする必要があります:

    winrm set winrm/config/client/auth @{Basic="true"}
    

    : Windows PowerShell でコマンドを実行する場合は、コマンドのこの部分を引用符で囲みます:'@{Basic="true"}'。  

    WinRM で基本認証が無効になっている状態で接続しようとすると、次のエラーが表示されます。

    WinRM クライアントは要求を処理できません。 現在、基本認証はクライアント構成で無効になっています。 クライアント構成を変更して、要求を再試行してください。

Exchange Online リモート PowerShell モジュールをインストールする

注意

  • Exchange Onlineリモート PowerShell モジュールは、PowerShell Core (macOS、Linux、または Windows Nano Server) ではサポートされていません。 回避策として、サポートされているバージョンの Windows (物理または仮想) を実行しているコンピューターにモジュールをインストールし、リモート デスクトップ ソフトウェアを使用して接続できます。

  • インストールされているバージョンの Exchange Online Remote PowerShell モジュールに Connect-IPPSSession コマンドレットがない場合は、モジュールの最新バージョンをインストールする必要があります。

ClickOnce をサポートするブラウザー (Internet Explorer や Edge など) で次の手順を実行する必要があります。

: ClickOnce のサポートは、Chromium ベースのバージョンの Edge でedge://flags/#edge-click-once使用でき、既定では有効になっていない可能性があります。

  1. Exchange 管理センター (EAC) を開きます。 手順については、Exchange Onlineの Exchange 管理センターに関する記事を参照してください。

  2. EAC で ハイブリッド > セットアップ に移動し、適切な [構成] ボタンをクリックして、多要素認証用のExchange Onlineリモート PowerShell モジュールをダウンロードします。

    EAC の [ハイブリッド] タブからExchange Online PowerShell モジュールをダウンロードします。

  3. 表示される [アプリケーションのインストール] ウィンドウで、[インストール] をクリックします。

    [Exchange Online PowerShell モジュール] ウィンドウで [インストール] をクリックします。

MFA またはフェデレーション認証を使用してセキュリティ & コンプライアンス PowerShell に接続する

  1. ローカル コンピューターで、Exchange Onlineリモート PowerShell モジュール (Microsoft Corporation > Microsoft Exchange Online Remote PowerShell モジュール) を開きます。

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

    Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <ConnectionUri> -AzureADAuthorizationEndPointUri <AzureADUri>]
    
    • <UPN> は Microsoft 365 の職場または学校アカウントです。

    • 値と <AzureADUri> 値は <ConnectionUri>、次の表に示すように、Microsoft 365 組織の場所によって異なります。



    Microsoft 365 のサービス ConnectionUri パラメーター値 AzureADAuthorizationEndPointUri パラメーター値
    Microsoft 365 不使用 不使用
    Office 365 Germany https://ps.compliance.protection.outlook.de/PowerShell-LiveID https://login.microsoftonline.de/common
    Microsoft 365 GCC High https://ps.compliance.protection.office365.us/powershell-liveid/ https://login.microsoftonline.us/common
    Microsoft 365 DoD https://l5.ps.compliance.protection.office365.us/powershell-liveid/ https://login.microsoftonline.us/common

    この例では、アカウント chris@contoso.com を使用して、Microsoft 365 の Security & Compliance PowerShell に接続します。

    Connect-IPPSSession -UserPrincipalName chris@contoso.com
    

    この例では、アカウント lukas@fabrikam.com を使用して、Office 365 ドイツの Security & Compliance PowerShell に接続します。

    Connect-IPPSSession -UserPrincipalName lukas@fabrikam.com -ConnectionUri https://ps.compliance.protection.outlook.de/PowerShell-LiveID -AzureADAuthorizationEndPointUri https://login.microsoftonline.de/common
    
  3. 表示されるサインイン ウィンドウで、パスワードを入力し、[サインイン] をクリックします。

    Exchange Onlineリモート PowerShell ウィンドウにパスワードを入力します。

    MFA の場合、アカウントに対して構成された検証応答オプション (携帯電話のテキスト メッセージや Azure Authenticator アプリなど) に基づいて検証コードが生成され、配信されます。

  4. (MFA のみ): 開いた確認ウィンドウで、確認コードを入力し、[ サインイン] をクリックします。

    Exchange Onlineリモート PowerShell ウィンドウに確認コードを入力します。

  5. (省略可能): 同じウィンドウで Exchange Online PowerShell モジュール セッションに接続する場合は、次のコマンドを実行する必要があります。

    $EXOSession=New-ExoPSSession -UserPrincipalName <UPN> [-ConnectionUri <ConnectionUri> -AzureADAuthorizationEndPointUri <AzureADUri>]
    

    次に、特定のプレフィックスを使用して、Exchange Online セッションを現在のセッションにインポートします。

    Import-PSSession $EXOSession -Prefix EXO
    

正常な動作を確認する方法

サインインすると、Security & Compliance PowerShell コマンドレットがExchange Onlineリモート PowerShell モジュール セッションにインポートされ、進行状況バーによって追跡されます。 何もエラーが表示されなければ、正常に接続されています。 クイック テストでは、Security & Compliance PowerShell コマンドレット ( Get-RetentionCompliancePolicy など) を実行し、結果を確認します。

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

  • サービス拒否 (DoS) 攻撃を防ぐため、セキュリティ/コンプライアンス PowerShell に対して開かれるリモート PowerShell 接続は 5 つに制限されます。

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

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

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

    The request for the Windows Remote Shell with ShellId <ID> failed because the shell was not found on the server. Possible causes are: the specified ShellId is incorrect or the shell no longer exists on the server. Provide the correct ShellId or create a new shell and retry the operation.

    この問題を解決するには、単一の IP アドレスを含む SNAT プールを使用するか、セキュリティ/コンプライアンス PowerShell エンドポイントへの接続に特定の IP アドレスを強制的に使用します。