Problembehandlung für das Az PowerShell-Modul

Debugprotokollierung aktivieren

Einer der ersten Schritte beim Behandeln eines Problems mit dem Azure Az PowerShell-Modul besteht im Aktivieren der Debugprotokollierung.

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'

Installation

Dieser Abschnitt enthält eine Liste der Lösungen für häufige Probleme beim Installieren des PowerShell-Moduls „Azure Az“.

Koexistenz von Az und AzureRM

Warnung

Die Module AzureRM und Az PowerShell können in Windows PowerShell 5.1 nicht gleichzeitig installiert sein.

Szenario, in dem das AzureRM-Modul und das Az PowerShell-Modul auf dem gleichen Windows-System installiert werden müssen:

  • AzureRM darf 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 weiterhin Support und Updates zu erhalten.

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 installieren Azure PowerShell unter Umständen als Teil der Azure-Entwicklungsworkload. Dadurch wird auch 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 von Install-Module Fehler mit dem Hinweis erhalten, dass der PowerShell-Katalog nicht erreichbar ist, befinden Sie sich möglicherweise hinter einem Proxy. Verschiedene Betriebssysteme und Netzwerkumgebungen haben unterschiedliche Anforderungen an 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 bei PowerShell 5.1 und höher die PowerShell-Sitzung mit den folgenden Befehlen so, dass ein Proxy verwendet wird:

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

Wenn die Anmeldeinformationen Ihres Betriebssystems 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 Objektinstanz 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 mit dem Cmdlet Get-AzResource überprüfen, ob die angegebene Azure-Ressource vorhanden ist.

Get-AzResource -ResourceId $resourceId

Berechtigungsprobleme bei 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. Details zur Syntax finden Sie unter den zuvor erwähnten Links.

Von „Get-AzAdGroupMember“ werden keine Dienstprinzipale zurückgegeben.

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.

Für das folgende 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 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.

Wichtig

Bei der Installation von AzureRM im Bereich AllUsers von Windows PowerShell ist das Modul an einem Speicherort installiert, der Teil von $env:PSModulePath für PowerShell 7 ist. Dies wird aufgrund von Konflikten zwischen dem AzureRM- und dem Az-PowerShell-Modul nicht unterstützt.

Sowohl Az als auch AzureRM können gleichzeitig auf demselben Windows-System vorhanden sein, jedoch nur, wenn AzureRM im Bereich CurrentUser von Windows PowerShell 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 weiterhin Support und Updates zu erhalten.

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 KeyChain-Autorisierung fehlschlägt.

Wenn Sie Azure PowerShell unter MacOS ausführen, wird möglicherweise eine Fehlermeldung angezeigt, wenn Sie versuchen, sich über eine PowerShell-Sitzung bei Ihrem Azure-Konto anmelden.

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 Microsoft Edge Ihr Standardbrowser ist, tritt beim Versuch, sich interaktiv mit Connect-AzAccount bei Azure anzumelden, möglicherweise der folgende Fehler auf: „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

Beim Ausführen von New-AzADServicePrincipal oder New-AzADApplication wird der Fehler Die Werte der Eigenschaft IdentifierUris müssen eine überprüfte Domäne der Organisation oder ihrer Unterdomäne verwenden: angezeigt.

Aufgrund des Breaking Change in Microsoft Entra, der voraussetzt, dass der AppId-URI in Anwendungen mit einem Mandanten die Verwendung eines Standardschemas oder überprüfter Domänen erfordert, müssen Sie das Az.Resources-Modul mindestens auf Version 4.1.0 aktualisieren, um das Cmdlet New-AzADServicePrincipal oder New-AzADApplication 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 dem Breaking Change in AzureAD betroffen:

  • PowerShell-Modul „Az.Resources“, Version 3.5.1-preview oder niedriger
  • Azure PowerShell-Modul, Version 5.9.0 oder niedriger

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

Problemumgehung

Wenn Sie kein Upgrade auf die oben beschriebenen PowerShell-Module durchführen können, gehen Sie beim Erstellen eines Dienstprinzipals folgendermaßen vor:

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.