401 Test-OAuthConnectivity コマンドレットの実行時にアクセス拒否エラーが発生する
元の KB 番号: 3090197
現象
コマンドレットを実行してユーザーの Test-OAuthConnectivity
OAuth 認証をテストすると、操作は失敗し、次のようなメッセージが表示されます。
401 アクセスが拒否されました
原因
この問題は、次のいずれかの条件に該当する場合に発生する可能性があります。
- OAuth 認証に必要なサービス プリンシパル名 (SPN) がありません。
- オンプレミス環境とMicrosoft Exchange Onlineの間で同期されていないアカウントをテストしています。
解決方法
この問題を解決するには、状況に応じて、次のいずれかのアクションを実行します。
シナリオ 1 - SPN が見つかりません
注:
Azure AD および MSOnline PowerShell モジュールは、2024 年 3 月 30 日の時点で非推奨となりました。 詳細については、 非推奨の更新プログラムに関するページを参照してください。 この日付以降、これらのモジュールのサポートは、Microsoft Graph PowerShell SDK への移行支援とセキュリティ修正に限定されます。 非推奨のモジュールは、2025 年 3 月 30 日まで引き続き機能します。
Microsoft Entra ID (旧称 Azure AD) と対話するには、Microsoft Graph PowerShell に移行することをお勧めします。 移行に関する一般的な質問については、移行に関する FAQ を参照してください。 メモ: バージョン 1.0.x の MSOnline では、2024 年 6 月 30 日以降に中断が発生する可能性があります。
Exchange 管理シェル を開きます。
次のコマンドを実行します。
Get-IntraOrganizationConfiguration
と
OnPremisesWebServiceEndPoint
に対して返される値にOnPremisesDiscoveryEndPoint
注目してください。次のコマンドを実行します。
(Get-MsolServicePrincipal -ServicePrincipalName "00000002-0000-0ff1-ce00-000000000000").ServicePrincipalNames
エンドポイントに一覧表示されているドメイン名が返されるかどうかを確認します。
ドメイン名が返されない場合は、 コマンドレットを
Set-MsolServicePrincipal
使用して追加します。たとえば、次のコマンドはドメインを
mail.contoso.com
追加します。$AppId = (Get-MsolServicePrincipal -ServicePrincipalName "00000002-0000-0ff1-ce00-000000000000").AppPrincipalId Set-MsolServicePrincipal -AppPrincipalId $AppId -ServicePrincipalNames @("mail.contoso.com")
シナリオ 2 - オンプレミス環境とExchange Onlineの間で同期されていないアカウントを使用している
コマンドレットをTest-OAuthConnectivity
実行するときは、オンプレミス環境とExchange Onlineの間で同期されているアカウントを使用していることを確認します。 たとえば、オンプレミスの管理者アカウントを使用すると、この問題が発生します。
次の例では、Fred はオンプレミス環境とExchange Onlineの間で同期されるユーザー アカウントです。
Test-OAuthConnectivity -Service EWS -TargetUri https://cas.contoso.com/ews/ -Mailbox "Fred"
詳細
さらにヘルプが必要ですか? 「Microsoft コミュニティ」または「Microsoft Q&A」にアクセスしてください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示