Bssic 認証 - Exchange Online Protection PowerShell に接続する
注意
この記事の接続手順は、基本認証 に関するセキュリティ上の懸念から、2022 年 10 月 1 日から非推奨になります 。 代わりに、Exchange Online PowerShell V2 モジュール (EXO V2 モジュール) を使用して、Exchange Online Protection PowerShell に接続する必要があります。 手順については、「Exchange Online Protection PowerShell に接続する」を参照してください。
Exchange Online メールボックスのないスタンドアロン Exchange Online Protection (EOP) 組織では、スタンドアロン EOP PowerShell を使用すると、コマンド ラインから EOP 組織を管理できます。 ローカル コンピューターでWindows PowerShellを使用して、EOP へのリモート PowerShell セッションを作成します。 これは、Microsoft 365 資格情報を入力し、必要な接続設定を指定し、EOP コマンドレットをローカル Windows PowerShell セッションにインポートして使用できるようにする簡単な 3 段階のプロセスです。
次の概要ビデオでは、PowerShell に接続して使用する方法Exchange Online Protection示します。
PowerShell Exchange Online Protection使用する
注: このビデオはExchange Online PowerShell と EOP PowerShell に適用されます。 組織に接続するときに、正しい URL (ConnectionUri 値) を指定してください。 必要な URL は、Exchange Online とスタンドアロン EOP 組織で異なります。
はじめに把握しておくべき情報
予想所要時間 : 5 分
この記事の手順は、Exchange Onlineメールボックスを持たない EOP 組織に対してのみ行います (たとえば、オンプレミスの電子メール環境を保護するスタンドアロン EOP サブスクリプションを使用している場合など)。 Microsoft 365 サブスクリプションに Exchange Online メールボックスが含まれている場合は、Exchange Online Protection PowerShell に接続することはできません。 同じ機能は Exchange Online PowerShell でも使用できます。
接続後、アクセスできるまたはアクセスできないコマンドレットとパラメーターは、役割ベースのアクセス制御 (RBAC) によって制御されます。詳細については、「スタンドアロン EOP のアクセス許可」を参照してください。
次の 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 Framework、Windows Management Framework 3.0、Windows Management Framework 4.0、および Windows Management Framework 5.1をインストールする」を参照してください。
スクリプトを実行するように Windows PowerShell を構成する必要があります。既定では、そのように構成されていないため、接続を試行すると、次に示すエラーが発生します。
このシステムでスクリプトの実行が無効になっているため、ファイルを読み込めません。 ファイルの署名に使用する有効な証明書を指定します。
インターネットからダウンロードしたすべての PowerShell スクリプトが信頼された発行元によって署名されていることを要求するには、管理者特権の Windows PowerShell ウィンドウ ([管理者として実行] を選択したときに開く Windows PowerShell ウィンドウ) で次のコマンドを実行します。
Set-ExecutionPolicy RemoteSigned実行ポリシーの詳細については、「実行ポリシーについて」を参照してください。
WinRM は基本認証を許可する必要があります (既定で有効になっています)。ユーザー名とパスワードの組み合わせは送信しませんが、クライアント側の WinRM 実装は OAuth をサポートしていないため、セッションの OAuth トークンを転送するには基本認証ヘッダーが必要です。
注:次のコマンドを実行するには、WinRM を一時的に有効にする必要があります。 次のコマンドを実行して有効にできます
winrm quickconfig。WinRM で基本認証が有効になっていることを確認するには、コマンド プロンプトで(Windows PowerShell ではなく)、次のコマンドを実行します:
winrm get winrm/config/client/authBasic = trueの値が表示されない場合は、コマンド プロンプトで(Windows PowerShell ではなく)、次のコマンドを実行して WinRM の基本認証を有効にする必要があります:winrm set winrm/config/client/auth @{Basic="true"}注: Windows PowerShell でコマンドを実行する場合は、コマンドのこの部分を引用符で囲みます:
'@{Basic="true"}'。WinRM で基本認証が無効になっている状態で接続しようとすると、次のエラーが表示されます。
WinRM クライアントは要求を処理できません。 現在、基本認証はクライアント構成で無効になっています。 クライアント構成を変更して、要求を再試行してください。
ヒント
問題が発生する場合 Exchange Online Protection フォーラムでサポートをご依頼ください。
Exchange Online Protectionに接続する
ローカル コンピューターで、Windows PowerShell を開き、次のコマンドを実行します。
$UserCredential = Get-Credential[Windows PowerShell 資格情報の要求] ダイアログ ボックスで、職場または学校のアカウントとパスワードを入力してから [OK] をクリックします。
次のコマンドを実行します。
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.protection.outlook.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection注:
Office 365 Germany には、次の ConnectionUri 値を使用してください:
https://ps.protection.outlook.de/powershell-liveid/サービス ライセンスを持つ Exchange Enterprise CAL を使用するオンプレミスの Exchange 組織の場合は、 ConnectionUri 値を使用します。
https://outlook.office365.com/powershell-liveid/
次のコマンドを実行します。
Import-PSSession $Session -DisableNameChecking注意
完了した時点でリモート PowerShell セッションを切断してください。セッションを切断せずに Windows PowerShell ウィンドウを閉じると、使用可能なリモート PowerShell セッションがすべて消費される可能性があり、セッションの有効期限が切れるまで待つ必要があります。リモート PowerShell セッションを切断するには、次のコマンドを実行します。
Remove-PSSession $Session
正常な動作を確認する方法
手順 3 の後、Exchange Online Protection コマンドレットがローカル Windows PowerShell セッションにインポートされ、進行状況バーによって追跡されます。 何もエラーが表示されなければ、正常に接続されています。 簡単に確かめるには、Exchange Online Protection コマンドレット (Get-TransportRule など) を実行して結果を確認します。
エラーが表示された場合は、次の要件を確認します。
よく起きる問題がパスワードの入力ミスです。もう一度 3 つのステップを実行します。特に、ステップ 1 ではユーザー名とパスワードを慎重に入力します。
サービス拒否 (DoS) 攻撃を防止するために、Exchange Online Protection に対して開かれるリモート PowerShell 接続は 5 つまでに制限されます。
ローカル コンピューターと Microsoft 365 の間に TCP ポート 80 トラフィックを開く必要があります。このポートは多くの場合開いているはずですが、組織で厳格なインターネット アクセス ポリシーが使用されている場合は、念のために確認する必要があります。
Exchange Online Protection PowerShell に接続するために使用するアカウントは、EOP のメール ユーザー (手動またはディレクトリ同期によって作成されたもの) として表示される必要があります。 アカウントが Exchange 管理センター (EAC) で 受信者 > 連絡先 のメールユーザーとして表示されていない場合は、接続しようとするときに次のエラーが表示されます。
Import-PSSession: リモートセッションで Get-Command コマンドを実行すると、次のエラーが報告されました。次のエラーメッセージが表示され、リモート コマンドのデータ処理に失敗しました。ShellId <GUID> を使用した Windows リモート シェルの要求が失敗しました。サーバーにシェルが見つかりませんでした。 考えられる原因としては、指定された ShellId が正しくないか、サーバーにシェルが存在しなくなったことが考えられます。 正しい ShellId を提供するか、新しいシェルを作成して操作をやり直してください。
接続要求中にクライアント IP アドレスが変更された場合 、New-PSSession コマンド (手順 2) は接続に失敗することがあります。 これは、組織が複数の IP アドレスを含むソース ネットワーク アドレス変換 (SNAT) プールを使用している場合に発生する可能性があります。 この接続エラーは次のようになります。
ShellId <ID> を使用した Windows リモート シェルの要求が失敗しました。サーバーにシェルが見つかりませんでした。 考えられる原因としては、指定された ShellId が正しくないか、サーバーにシェルが存在しなくなったことが考えられます。 正しい ShellId を提供するか、新しいシェルを作成して操作をやり直してください。
この問題を解決するには、単一の IP アドレスを含む SNAT プールを使用するか、Exchange Online Protection PowerShell エンドポイントへの接続に特定の IP アドレスを強制的に使用します。
関連項目
この記事で使用するコマンドレットは、Windows PowerShell コマンドレットです。これらのコマンドレットの詳細については、次の記事を参照してください。