Freigeben über


Problembehandlung beim Az PowerShell-Modul

Debugprotokollierung aktivieren

Einer der ersten Schritte, die Sie bei der Problembehandlung mit dem Az PowerShell-Modul ausführen sollten, besteht darin, die Debugprotokollierung zu aktivieren.

Geben Sie den Debug-Parameter an, um die Debugprotokollierung auf Befehlsbasis zu aktivieren.

Get-AzResource -Name 'DoesNotExist' -Debug

Wenn Sie die Debugprotokollierung für eine gesamte PowerShell-Sitzung aktivieren möchten, legen Sie den Wert der Variablen DebugPreference auf Continue fest.

$DebugPreference = 'Continue'

Bekanntes Problem: Fehler beim Installieren von Az-Modulen aus MAR

Wenn Sie bestimmte Az PowerShell-Module aus der Microsoft Artifact Registry (MAR) mithilfe von PSResourceGet installieren, tritt möglicherweise ein Fehler auf:

Install-PSResource: Package(s) 'Az.Keyvault' could not be installed from repository 'MAR'.

Hinweis

Installieren Sie als temporäre Problemumgehung das Modul aus einem anderen Repository, z. B. dem PowerShell-Katalog, bis das Problem behoben ist.

Weitere Informationen finden Sie unter Bugfix zum Vergleichen des Dateinamens, um die genaue Übereinstimmung zu ermitteln.

Problembehandlung bei mehrstufiger Authentifizierung (MFA)

Interaktive Anmeldefehler

Wenn beim Ausführen von Azure PowerShell-Cmdlets, die Ressourcen erstellen, ändern oder löschen, Fehler auftreten, kann das Problem durch eine Microsoft Entra ID-Richtlinie für bedingten Zugriff verursacht werden, die mehrstufige Authentifizierung (MFA) erfordert.

Diese Fehler treten in der Regel auf, wenn MFA von der Richtlinie benötigt wird, während der Anmeldung jedoch nicht erzwungen wird.

SharedTokenCacheCredential-Authentifizierung nicht verfügbar

Dieser Fehler wird möglicherweise angezeigt, wenn Sie Folgendes verwenden:

  • Az PowerShell-Modul, Version 14.2.0 oder früher
  • Az.Accounts PowerShell-Modul 5.1.1 oder früher
SharedTokenCacheCredential authentication unavailable. Token acquisition failed for user
someone@contoso.com. Ensure that you have authenticated with a developer tool that supports Azure
single sign on.

Führen Sie ein Upgrade auf die folgenden Versionen oder höher durch, um informativere Fehlermeldungen und Richtliniendetails zu erhalten:

  • Az PowerShell-Modul: Version 14.3.0 oder höher
  • Az.Accounts-Modul : Version 5.2.0 oder höher

Ressource wurde von der Richtlinie nicht zugelassen.

In neueren Modulversionen (Az 14.3.0+ und Az.Accounts 5.2.0+) tritt dieser Fehler auf, wenn MFA durch bedingten Zugriff für bestimmte Vorgänge erforderlich ist.

Resource was disallowed by policy. Users must use MFA for Create operation.
Users must authenticate with multi-factor authentication to create or update resources.
Run the cmdlet below to authenticate interactively; additional parameters may be added as needed.
Connect-AzAccount -Tenant (Get-AzContext).Tenant.Id -ClaimsChallenge "<claims-challenge-token>"

Lösungsoptionen

  • Bitten Sie Ihren Azure-Administrator, MFA bei der Anmeldung zu erzwingen. Auf diese Weise kann Ihre Sitzung die Anforderungen für den bedingten Zugriff ohne zusätzliche Schritte erfüllen.

  • Wenn die MFA-Erzwingung bei der Anmeldung nicht möglich ist, verwenden Sie den Parameter ClaimsChallenge , um sich interaktiv zu authentifizieren:

    Connect-AzAccount -Tenant (Get-AzContext).Tenant.Id -ClaimsChallenge "<claims-challenge-token>"
    

Weitere Informationen finden Sie unter Planen der obligatorischen mehrstufigen Authentifizierung für Azure und andere Verwaltungsportale

ROPC-Fehler: Aufgrund einer vom Administrator vorgenommenen Konfigurationsänderung

Sie verwenden den RoPC-Fluss (Resource Owner Password Credential), wenn Sie sich mit einem Kennwort bei Azure anmelden. Diese Authentifizierungsmethode unterstützt keine MFA. Ein Beispiel:

Connect-AzAccount -Credential $Credential

Wenn für das Benutzerkonto MFA erforderlich ist, schlägt der Befehl mit dem folgenden Fehler fehl:

Connect-AzAccount : UsernamePasswordCredential authentication failed: Response status code does not
indicate success: 400 (BadRequest). See the troubleshooting guide for more information
https://aka.ms/azsdk/net/identity/usernamepasswordcredential/troubleshoot

Lösung: Verwenden Sie eine Authentifizierungsmethode, die mit MFA kompatibel ist.

Mandantenübergreifende Warnung: Authentifizierung gegen den Mandanten gescheitert

Wenn Sie Zugriff auf mehrere Mandanten haben und einer davon MFA erfordert, zeigt Azure PowerShell möglicherweise die folgende Warnung an:

WARNING: Unable to acquire token for tenant '00000000-0000-0000-0000-000000000000' with error
'Authentication failed against tenant 00000000-0000-0000-0000-000000000000. User interaction is
required. This may be due to the conditional access policy settings such as multi-factor
authentication (MFA). If you need to access subscriptions in that tenant, please rerun
'Connect-AzAccount' with additional parameter '-TenantId 00000000-0000-0000-0000-000000000000.'

Azure PowerShell versucht, sich mit dem ersten Mandanten anzumelden, der bei der Anmeldung gefunden wurde. Wenn dieser Mandant MFA erzwingt, schlägt die Authentifizierung möglicherweise fehl. Um dieses Problem zu vermeiden, geben Sie den Zielmandanten explizit mit dem Parameter TenantId an:

Connect-AzAccount -TenantId 00000000-0000-0000-0000-000000000000

Dadurch wird sichergestellt, dass die Authentifizierung gegen den richtigen Mandanten versucht wird, wodurch die Wahrscheinlichkeit von MFA-bezogenen Fehlern verringert wird.

Ankündigungsmeldungen in Automatisierungsszenarien

Wenn Sie eine Verbindung mit Azure mit Azure PowerShell herstellen, werden Ankündigungsmeldungen mithilfe des PowerShell-Informationsstreams angezeigt, um zu verhindern, dass sie die zurückgegebene objektbasierte Ausgabe ändern. Obwohl wir alle Anstrengungen unternommen haben, um sicherzustellen, dass die Ankündigungsnachrichten ihre Erfahrung nicht beeinträchtigen, gibt es einige Automatisierungsszenarien, in denen sie sich auf die Nutzung auswirken können. Wenn Probleme auftreten, wird empfohlen, den Informationsstrom in diesen Szenarien zu unterdrücken:

Connect-AzAccount -Subscription '<subscription name or id>' -InformationAction Ignore

Web-Kundenbetreuer (WAM)

  • Mit der interaktiven Anmeldemethode kann kein Fenster für WAM geöffnet werden, und es wird der folgende Fehler zurückgegeben: Der Benutzer hat die Authentifizierung abgebrochen.
  • Azure PowerShell-Cmdlets können nach der Anmeldung mit einem Benutzernamen und Kennwort oder Gerätecode nicht ausgeführt werden.
  • Das WAM-Popupfenster zeigt die Option Geschäfts-, Schul- oder Unikonto nicht an.
  • Die interaktive Anmeldemethode kann kein WAM-Fenster in der Windows PowerShell ISE-Konsole öffnen.

Die Problemumgehung für diese Probleme besteht darin, WAM zu deaktivieren:

Update-AzConfig -EnableLoginByWam $false
  • Das WAM-Popupfenster zum Auswählen eines Kontos ist nicht leicht zu finden. Minimieren Sie andere Fenster, um das Popupfenster zu finden.

Installation

Dieser Abschnitt enthält eine Liste der Lösungen für häufige Probleme bei der Installation des Az PowerShell-Moduls.

Koexistenz von Az und AzureRM

Warnung

Es wird nicht unterstützt, dass sowohl die AzureRM- als auch az PowerShell-Module gleichzeitig in Windows PowerShell 5.1 installiert sind.

In einem Szenario, in dem Sie sowohl das AzureRM- als auch das Az PowerShell-Modul auf demselben Windows-System installieren müssen:

  • AzureRM muss nur im aktuellen Benutzerbereich von Windows PowerShell 5.1 installiert werden.
  • Installieren Sie das Az PowerShell-Modul in PowerShell 7.2 oder höher.

Warnung

Das AzureRM PowerShell-Modul ist seit dem 29. Februar 2024 offiziell veraltet. Benutzern wird empfohlen, von AzureRM zum Az PowerShell-Modul zu migrieren, um fortgesetzte Unterstützung und Updates sicherzustellen.

Obwohl das AzureRM-Modul möglicherweise weiterhin funktioniert, wird es nicht mehr gewartet, und es wird kein Support mehr angeboten. Die weitere Nutzung erfolgt daher nach Ermessen und Risiko des Benutzers. Weitere Informationen zum Übergang zum Az-Modul finden Sie in unseren Migrationsressourcen.

Visual Studio

Ältere Versionen von Visual Studio können Azure PowerShell als Teil der Azure-Entwicklungsarbeitsauslastung installieren, die das AzureRM-Modul installiert. Azure PowerShell kann mithilfe des Visual Studio-Installers oder mithilfe der Option „Deinstallieren“ unter „Apps & Features“ entfernt werden. Wenn Sie PowerShell 7.x bereits installiert haben, müssen Sie das Az PowerShell-Modul möglicherweise manuell installieren.

Der Proxy blockiert die Verbindung.

Wenn Sie Fehler von Install-Module erhalten, weil die PowerShell Gallery nicht erreichbar ist, befinden Sie sich möglicherweise hinter einem Proxy. Verschiedene Betriebssysteme und Netzwerkumgebung haben unterschiedliche Anforderungen für die Konfiguration eines systemweiten Proxys. Wenden Sie sich an Ihren Systemadministrator, um Ihre Proxyeinstellungen zu erhalten und zu erfahren, wie Sie sie für Ihre Umgebung konfigurieren können.

PowerShell selbst ist möglicherweise nicht so konfiguriert, dass es diesen Proxy automatisch verwendet. Konfigurieren Sie mit PowerShell 5.1 und höher die PowerShell-Sitzung für die Verwendung eines Proxys mithilfe der folgenden Befehle:

$webClient = New-Object -TypeName System.Net.WebClient
$webClient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials

Wenn Ihre Betriebssystemanmeldeinformationen ordnungsgemäß konfiguriert sind, leitet diese Konfiguration PowerShell-Anforderungen über den Proxy weiter. Damit diese Einstellung auch zwischen den Sitzungen erhalten bleibt, fügen Sie die Befehle zu Ihrem PowerShell-Profil hinzu.

Ihr Proxy muss HTTPS-Verbindungen mit www.powershellgallery.com zulassen, damit das Paket installiert werden kann.

Objektverweis wurde nicht auf eine Instanz eines Objekts festgelegt.

Die Meldung Der Objektverweis ist nicht auf eine Instanz eines Objekts festgelegt. bedeutet, dass Sie auf ein Objekt, das NULL ist, oder auf eine nicht vorhandene Azure-Ressource verweisen oder dass Sie keine Berechtigung zum Zugriff besitzen.

$resourceId =  '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<resource-group-name>/providers/Microsoft.Web/sites/<webapp-name>/privateEndpointConnections/<endpoint-name>'
Get-AzPrivateEndpointConnection -ResourceId $resourceId
Get-AzPrivateEndpointConnection: Object reference not set to an instance of an object.

Sie können das Cmdlet Get-AzResource verwenden, um zu überprüfen, ob die angegebene Azure-Ressource vorhanden ist.

Get-AzResource -ResourceId $resourceId

Berechtigungsprobleme mit AzAD-Cmdlets

Das Az PowerShell-Modul verwendet die Microsoft Graph-API. Das Verwalten von Ressourcen in Azure mit dem Az PowerShell-Modul erfordert dieselben Berechtigungen wie das Ausführen der identischen Aufgabe im Azure-Portal oder einem anderen Azure-Befehlszeilentool. Informationen zu spezifischen Fragen zu Berechtigungen finden Sie in der Microsoft Graph-Berechtigungsreferenz.

Microsoft Graph-Abfrageparameter

AzAd-Cmdlets unter Az.Resources unterstützen jetzt Abfrageparameter und Suchabfrageparameter. Ausführliche Informationen zur Syntax finden Sie unter den zuvor referenzierten Links.

Get-AzAdGroupMember gibt keine Dienstprinzipien zurück.

Aufgrund von Einschränkungen bei der aktuellen Graph-API werden Dienstprinzipale in Az 7.x nicht von Get-AzAdGroupMember zurückgegeben. Um dieses Problem zu umgehen, kann Invoke-AzRestMethod mit der Betaversion der Microsoft Graph-API verwendet werden.

Im folgenden Beispiel ist das Az PowerShell-Modul erforderlich. Ersetzen Sie myGroupName in der ersten Zeile durch den Namen Ihrer Gruppe.

$Group = Get-AzADGroup -DisplayName myGroupName
((Invoke-AzRestMethod -Uri "https://graph.microsoft.com/beta/groups/$($Group.id)/members").Content |
  ConvertFrom-Json).value |
  Select-Object -Property DisplayName, Id, @{label='OdataType';expression={$_.'@odata.type'}}

Befehl wurde gefunden, konnte aber nicht geladen werden

Die folgende Meldung wird von PowerShell zurückgegeben, wenn Sie versuchen, einen der Az PowerShell-Befehle auszuführen.

Connect-AzAccount: The 'Connect-AzAccount' command was found in the module 'Az.Accounts', but the module could not be loaded. For more information, run 'Import-Module Az.Accounts'.

Diese Meldung wird angezeigt, wenn sowohl das Az-Modul als auch das AzureRM PowerShell-Modul auf demselben Windows-basierten System installiert ist und sie unter $env:PSModulePath für dieselbe PowerShell-Version vorhanden sind.

Von Bedeutung

Wenn AzureRM im AllUsers Bereich von Windows PowerShell installiert ist, wird es an einem Speicherort installiert, der Teil des $env:PSModulePath für PowerShell 7 ist. Dies wird aufgrund von Konflikten zwischen azureRM- und Az PowerShell-Modulen nicht unterstützt.

Sowohl Az als auch AzureRM können im selben Windows-System vorhanden sein, aber nur, wenn AzureRM im CurrentUser-Bereich von Windows PowerShell installiert ist und Az in PowerShell 7 installiert ist. Weitere Informationen finden Sie unter Installieren des Az PowerShell-Moduls.

Warnung

Das AzureRM PowerShell-Modul ist seit dem 29. Februar 2024 offiziell veraltet. Benutzern wird empfohlen, von AzureRM zum Az PowerShell-Modul zu migrieren, um fortgesetzte Unterstützung und Updates sicherzustellen.

Obwohl das AzureRM-Modul möglicherweise weiterhin funktioniert, wird es nicht mehr gewartet, und es wird kein Support mehr angeboten. Die weitere Nutzung erfolgt daher nach Ermessen und Risiko des Benutzers. Weitere Informationen zum Übergang zum Az-Modul finden Sie in unseren Migrationsressourcen.

Unter MacOS wird ein Fehler zurückgegeben, wenn die Schlüsselbundautorisierung fehlschlägt.

Wenn Sie Azure PowerShell unter MacOS ausführen, tritt möglicherweise eine Fehlermeldung auf, während Sie versuchen, sich über eine PowerShell-Sitzung bei Ihrem Azure-Konto anzumelden.

DeviceCodeCredential authentication failed: Persistence check failed. Reason: KeyChain authorization/authentication failed. .Error code: -25293. OS error code -25293.

Als Problemumgehung können Sie das Speichern von Anmeldeinformationen zwischen Sitzungen deaktivieren, indem Sie den folgenden Befehl ausführen. Nachdem Sie diese Änderung vorgenommen haben, müssen Sie jedoch jedes Mal Connect-AzAccount ausführen, wenn Sie eine neue PowerShell-Sitzung starten.

Disable-AzContextAutosave

Die Verbindung für diese Website ist nicht sicher.

Wenn Ihr Standardbrowser Microsoft Edge ist, tritt möglicherweise der folgende Fehler auf, wenn Sie versuchen, sich interaktiv mit Connect-AzAccountbei Azure anzumelden: "Die Verbindung für diese Website ist nicht sicher." Um dieses Problem zu beheben, besuchen Sie edge://net-internals/#hsts in Microsoft Edge. Fügen Sie localhost unter „Domänensicherheitsrichtlinie löschen“ hinzu, und klicken Sie auf Löschen.

Dienstprinzipal: Fehler in Bezug auf die IdentifierUri-Eigenschaft der überprüften Domäne

Fehler: Die Werte der Eigenschaft identifierUris müssen eine überprüfte Domain der Organisation oder deren Subdomäne verwenden. wird angezeigt, wenn New-AzADServicePrincipal oder New-AzADApplicationausgeführt wird.

Aufgrund der gravierenden Änderung in Microsoft Entra, die erfordert, dass der AppId-URI in Single-Tenant-Anwendungen entweder das Standardschema oder verifizierte Domänen verwendet, müssen Sie das Modul Az.Resources auf Version 4.1.0 oder höher aktualisieren, um die New-AzADServicePrincipal oder New-AzADApplication Cmdlets weiterhin nutzen zu können.

Sie können auch ein Upgrade auf Version 6.0 oder eine höhere Version des Az PowerShell-Moduls durchführen.

Zeitachse

Die Anforderung trat am 15. Oktober 2021 in Kraft.

Betroffene Versionen

Die folgenden Versionen von Azure PowerShell sind von der AzureAD-einschneidenden Änderung betroffen.

  • Az.Resources PowerShell-Modul, Version 3.5.1-Preview oder kleiner.
  • Az PowerShell Modul Version 5.9.0 oder kleiner.

Wenn nach dem Upgrade weiterhin Probleme auftreten, können Sie ein Issue erstellen.

Zwischenlösung

Wenn Sie kein Upgrade auf die zuvor beschriebenen PowerShell-Module durchführen können, können Sie diese Schritte beim Erstellen eines Dienstprinzipals ausführen:

Andere Probleme

Wenn Sie ein Problem mit Azure PowerShell haben, das nicht in diesem Artikel aufgeführt ist oder weitere Unterstützung erfordert, öffnen Sie ein Issue auf GitHub.