多要素認証を使用して Exchange Online PowerShell に接続する

多要素認証 (MFA) を使用して Exchange Online PowerShell に接続する場合は、「 exchange Online powershell への接続」の手順を使用して、リモート powershell を使用して exchange online に接続することはできません。 MFA では、Exchange Online リモート PowerShell モジュールをインストールし、connect -ExoPSSessionコマンドレットを使用して接続する必要があります。

Note

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

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

  • 予想所要時間 : 5 分

  • 次の 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 の場合は、Microsoft.NET Framework 4.5 以降をインストールしてから、更新バージョンの Windows Management Framework (3.0、4.0、5.1 のいずれか 1 つ) をインストールする必要があります。詳細については、「.NET Framework のインストール」、「Windows Management Framework 3.0」、「Windows Management Framework 4.0」、「Windows Management Framework 5.1」を参照してください。

  • Exchange Online リモート PowerShell モジュールをコンピューターにインストールする必要があります。

    1. Internet Explorer またはエッジで、exchange Online 組織の Exchange 管理センター (EAC) を開きます。 手順については、「exchange Online の exchange 管理センター」を参照してください。

      : 次の手順を完了するには、ClickOnce を使用して (Internet Explorer やエッジのような) ダウンロードするブラウザーが必要です。

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

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

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

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

  • コンピューターの Windows リモート管理 (WinRM) では、基本認証を有効にする必要があります (既定では有効です)。 基本認証が有効になっていることを確認するには、コマンドプロンプトで次のコマンドを実行します。

    winrm get winrm/config/client/auth
    

    Basic = trueが表示されない場合は、次のコマンドを実行して、WinRM の基本認証を有効にする必要があります。

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

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

    The WinRM client cannot process the request. Basic authentication is currently disabled in the client configuration. Change the client configuration and try the request again.

  • Exchange Online リモート PowerShell モジュールを使用すると、セッションは1時間後に終了し、長時間実行されているスクリプトまたはプロセスで問題が発生する可能性があります。 この問題を回避するには、信頼された ipを使用して、イントラネットからの接続に対して MFA をバイパスします。 信頼された Ip を使用すると、「 Exchange Online powershell への接続」の前の手順を使用して、イントラネットから Exchange online powershell に接続することができます。 また、データセンターにサーバーがある場合は、ここで説明するように、そのパブリック IP アドレスを信頼できる ip に追加してください。

Tip

問題がある場合は、 Exchange のフォーラムで質問してください。 Exchange onlineまたはexchange online Protectionのフォーラムにアクセスします。

MFA を使用して Exchange Online PowerShell に接続する

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

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

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

    • _ <Connectionuri> > AzureADUri の値は、次の表に示すように、Office 365 組織の性質に応じて異なります。 <_

      Office 365 のオファーリング _Connectionuri_パラメーターの値 _AzureADAuthorizationEndPointUri_パラメーターの値
      Office 365 不使用 不使用
      Office 365 Germany https://outlook.office.de/PowerShell-LiveID https://login.microsoftonline.de/common
      Office 365 GCC (高) https://outlook.office365.us/powershell-liveid https://login.microsoftonline.us/common
      Office 365 DoD https://webmail.apps.mil/powershell-liveid https://login.microsoftonline.us/common

    この例では、アカウント chris@contoso.com を使用して Office 365 の Exchange Online に接続します。

    Connect-EXOPSSession -UserPrincipalName chris@contoso.com
    

    この例では、account lukas@fabrikam.com を使用して Office 365 ドイツの Exchange Online に接続します。

    Connect-EXOPSSession -UserPrincipalName lukas@fabrikam.com -ConnectionUri https://outlook.office.de/PowerShell-LiveID -AzureADAuthorizationEndPointUri https://login.microsoftonline.de/common
    

    この例では、Exchange Online に接続して別のテナントを管理します。

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

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

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

  4. 表示される確認ウィンドウで、確認コードを入力して、[サインイン] をクリックします。

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

Note

完了した時点でリモート PowerShell セッションを切断してください。 セッションを切断せずに Exchange Online リモート PowerShell モジュールウィンドウを閉じた場合は、使用可能なすべてのリモート PowerShell セッションを使用でき、セッションが期限切れになるまで待機する必要があります。 現在開いているすべての PowerShell セッションを現在のウィンドウから切断するには、次のコマンドを実行します。

Get-PSSession | Remove-PSSession

シングル サインオン

組織でシングルサインオン (SSO) が有効になっており、SSO ドメインのユーザーとしてコンピューターにログオンしている場合は、次のエラーが発生してConnect-EXPOPSSessionが失敗する可能性があります。

新しい-ExoPSSession: サービスによって返されたユーザー ' loggedonuser@contoso.com ' は、要求のユーザー ' userprincipalname@contoso.com ' と一致しません。

このエラーは、シングルサインオンが指定されたユーザープリンシパル名 (UPN) を上書きするために発生します。 回避策として、ドメインに参加していないコンピューターから接続するか、ローカルユーザーアカウントを使用してドメインに参加しているコンピューターにログオンします。

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

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

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

  • サービス拒否 (DoS) 攻撃を防止するため、Exchange Online 組織に対して開かれるリモート PowerShell 接続は 3 つまでに制限されます。

  • Exchange Online への接続に使うアカウントは、リモート PowerShell に対して有効になっている必要があります。詳しくは、「Exchange Online でリモート PowerShell アクセスを管理する」をご覧ください。

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