Błąd odmowy dostępu 401 podczas uruchamiania polecenia cmdlet Test-OAuthConnectivity
Oryginalny numer KB: 3090197
Symptomy
Po uruchomieniu Test-OAuthConnectivity
polecenia cmdlet w celu przetestowania uwierzytelniania OAuth dla użytkownika operacja kończy się niepowodzeniem i zostanie wyświetlony komunikat podobny do następującego:
Odmowa dostępu 401
Przyczyna
Ten problem może wystąpić, jeśli spełniony jest jeden z następujących warunków:
- Brak nazwy głównej usługi (SPN) wymaganej do uwierzytelniania OAuth.
- Testujesz konto, które nie jest synchronizowane między środowiskiem lokalnym a Microsoft Exchange Online.
Rozwiązanie
Aby rozwiązać ten problem, wykonaj jedną z następujących akcji, stosownie do twojej sytuacji.
Scenariusz 1 — brak nazwy SPN
Uwaga
Moduły programu PowerShell Azure AD i MSOnline są przestarzałe od 30 marca 2024 r. Aby dowiedzieć się więcej, przeczytaj aktualizację wycofania. Po tej dacie obsługa tych modułów jest ograniczona do pomocy w migracji do zestawu Microsoft Graph PowerShell SDK i poprawek zabezpieczeń. Przestarzałe moduły będą nadal działać do 30 marca 2025 r.
Zalecamy migrację do programu Microsoft Graph PowerShell w celu interakcji z Tożsamość Microsoft Entra (dawniej Azure AD). Aby uzyskać typowe pytania dotyczące migracji, zapoznaj się z często zadawanymi pytaniami dotyczącymi migracji. Uwaga: W wersjach 1.0.x usługi MSOnline mogą wystąpić zakłócenia po 30 czerwca 2024 r.
Otwórz powłokę zarządzania programu Exchange.
Uruchom następujące polecenie:
Get-IntraOrganizationConfiguration
Zwróć uwagę na wartości zwracane dla
OnPremisesDiscoveryEndPoint
wartości iOnPremisesWebServiceEndPoint
.Uruchom następujące polecenie:
(Get-MsolServicePrincipal -ServicePrincipalName "00000002-0000-0ff1-ce00-000000000000").ServicePrincipalNames
Sprawdź, czy są zwracane nazwy domen wymienione dla punktów końcowych.
Jeśli nazwy domen nie zostaną zwrócone, użyj
Set-MsolServicePrincipal
polecenia cmdlet, aby je dodać.Na przykład następujące polecenie dodaje domenę
mail.contoso.com
.$AppId = (Get-MsolServicePrincipal -ServicePrincipalName "00000002-0000-0ff1-ce00-000000000000").AppPrincipalId Set-MsolServicePrincipal -AppPrincipalId $AppId -ServicePrincipalNames @("mail.contoso.com")
Scenariusz 2 — używasz konta, które nie jest synchronizowane między środowiskiem lokalnym a Exchange Online
Po uruchomieniu Test-OAuthConnectivity
polecenia cmdlet upewnij się, że używasz konta zsynchronizowanego między środowiskiem lokalnym a Exchange Online. Na przykład ten problem wystąpi, jeśli używasz konta administratora lokalnego.
W poniższym przykładzie Fred jest kontem użytkownika synchronizowanym między środowiskiem lokalnym a Exchange Online.
Test-OAuthConnectivity -Service EWS -TargetUri https://cas.contoso.com/ews/ -Mailbox "Fred"
Więcej informacji
Nadal potrzebujesz pomocy? Przejdź do witryny Społeczność Microsoft lub forów Microsoft Q&A.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla