Auf Englisch lesen

Freigeben über


Fehler 401: Zugriff verweigert beim Ausführen des Cmdlets Test-OAuthConnectivity

Ursprüngliche KB-Nummer: 3090197

Problembeschreibung

Wenn Sie das Cmdlet ausführen, um die Test-OAuthConnectivity OAuth-Authentifizierung für einen Benutzer zu testen, schlägt der Vorgang fehl, und Sie erhalten eine Meldung, die der folgenden ähnelt:

401 Zugriff verweigert

Ursache

Dieses Problem kann auftreten, wenn eine der folgenden Bedingungen zutrifft:

  • Der Dienstprinzipalname (SPN), der für die OAuth-Authentifizierung erforderlich ist, fehlt.
  • Sie testen ein Konto, das nicht zwischen der lokalen Umgebung und Microsoft Exchange Online synchronisiert ist.

Fehlerbehebung

Um dieses Problem zu beheben, führen Sie je nach Situation eine der folgenden Aktionen aus.

Szenario 1: Der SPN fehlt

Hinweis

Azure AD- und MSOnline PowerShell-Module sind ab dem 30. März 2024 veraltet. Weitere Informationen finden Sie im Veralteten Update. Nach diesem Datum ist die Unterstützung für diese Module auf Migrationsunterstützung zum Microsoft Graph PowerShell SDK und Sicherheitskorrekturen beschränkt. Die veralteten Module funktionieren weiterhin bis zum 30. März 2025.

Es wird empfohlen, zu Microsoft Graph PowerShell zu migrieren, um mit Microsoft Entra ID (früher Azure AD) zu interagieren. Häufig gestellte Fragen zur Migration finden Sie in den häufig gestellten Fragen zur Migration. Hinweis: Version 1.0.x von MSOnline kann nach dem 30. Juni 2024 unterbrochen werden.

  1. Öffnen Sie die Exchange-Verwaltungsshell.

  2. Führen Sie den folgenden Befehl aus:

    PowerShell
    Get-IntraOrganizationConfiguration
    

    Beachten Sie die Werte, die für OnPremisesDiscoveryEndPoint und OnPremisesWebServiceEndPointzurückgegeben werden.

  3. Führen Sie den folgenden Befehl aus:

    PowerShell
    (Get-MsolServicePrincipal -ServicePrincipalName "00000002-0000-0ff1-ce00-000000000000").ServicePrincipalNames
    

    Überprüfen Sie, ob die domänennamen, die für die Endpunkte aufgeführt sind, zurückgegeben werden.

  4. Wenn die Domänennamen nicht zurückgegeben werden, verwenden Sie das Set-MsolServicePrincipal Cmdlet, um sie hinzuzufügen.

    Mit dem folgenden Befehl wird beispielsweise die mail.contoso.com Domäne hinzugefügt.

    PowerShell
    $AppId = (Get-MsolServicePrincipal -ServicePrincipalName "00000002-0000-0ff1-ce00-000000000000").AppPrincipalId
    Set-MsolServicePrincipal -AppPrincipalId $AppId -ServicePrincipalNames @("mail.contoso.com")
    

Szenario 2: Sie verwenden ein Konto, das nicht zwischen der lokalen Umgebung und Exchange Online

Stellen Sie beim Ausführen des Test-OAuthConnectivity Cmdlets sicher, dass Sie ein Konto verwenden, das zwischen der lokalen Umgebung und Exchange Online synchronisiert wird. Dieses Problem tritt beispielsweise auf, wenn Sie ein lokales Administratorkonto verwenden.

Im folgenden Beispiel ist Fred ein Benutzerkonto, das zwischen der lokalen Umgebung und Exchange Online synchronisiert wird.

PowerShell
Test-OAuthConnectivity -Service EWS -TargetUri https://cas.contoso.com/ews/ -Mailbox "Fred"

Weitere Informationen

Benötigen Sie weitere Hilfe? Besuchen Sie die Microsoft Community oder die Microsoft Q&A.