401 當您執行 Test-OAuthConnectivity Cmdlet 時發生拒絕存取錯誤
原始 KB 編號: 3090197
徵狀
當您執行 Test-OAuthConnectivity
Cmdlet 來測試使用者的 OAuth 驗證時,作業會失敗,而且您會收到類似下列的訊息:
401 拒絕存取
原因
如果下列其中一個條件成立,就會發生此問題:
- 缺少 OAuth 驗證所需的服務主體名稱 (SPN) 。
- 您正在測試內部部署環境與Microsoft Exchange Online之間未同步處理的帳戶。
解決方案
若要修正此問題,請視情況採取下列其中一個動作。
案例 1 - SPN 遺失
開啟 [Exchange 管理命令介面]。
執行下列命令:
Get-IntraOrganizationConfiguration
請注意和 傳回的
OnPremisesDiscoveryEndPoint
OnPremisesWebServiceEndPoint
值。執行下列命令:
(Get-MsolServicePrincipal -ServicePrincipalName "00000002-0000-0ff1-ce00-000000000000").ServicePrincipalNames
檢查是否傳回針對端點列出的功能變數名稱。
如果未傳回功能變數名稱,請使用
Set-MsolServicePrincipal
Cmdlet 來新增它們。例如,下列命令會新增 網
mail.contoso.com
域。$AppId = (Get-MsolServicePrincipal -ServicePrincipalName "00000002-0000-0ff1-ce00-000000000000").AppPrincipalId Set-MsolServicePrincipal -AppPrincipalId $AppId -ServicePrincipalNames @("mail.contoso.com")
案例 2 - 您使用的帳戶未在內部部署環境與Exchange Online之間進行同步處理
當您執行 Cmdlet Test-OAuthConnectivity
時,請確定您使用的帳戶已在內部部署環境與Exchange Online之間進行同步處理。 例如,如果您使用內部部署系統管理員帳戶,就會遇到此問題。
在下列範例中,Fred是內部部署環境與Exchange Online之間同步處理的使用者帳戶。
Test-OAuthConnectivity -Service EWS -TargetUri https://cas.contoso.com/ews/ -Mailbox "Fred"
其他相關資訊
是否仍需要協助? 移至 Microsoft 社群 或 Microsoft Q & A。