Problemen met de Az PowerShell-module oplossen

Logboekregistratie voor foutopsporing inschakelen

Een van de eerste stappen die u moet uitvoeren bij het oplossen van een probleem met de Azure Az PowerShell-module is het inschakelen van logboekregistratie voor foutopsporing.

Als u logboekregistratie voor foutopsporing per opdracht wilt inschakelen, geeft u de parameter Foutopsporing op.

Get-AzResource -Name 'DoesNotExist' -Debug

Als u logboekregistratie voor foutopsporing wilt inschakelen voor een volledige PowerShell-sessie, stelt u de waarde van de variabele DebugPreference in op Continue.

$DebugPreference = 'Continue'

Installatie

Deze sectie bevat een lijst met oplossingen voor veelvoorkomende problemen bij het installeren van de Azure Az PowerShell-module.

Az en AzureRM co-existentie

Waarschuwing

We ondersteunen niet dat zowel de AzureRM- als de Az-module tegelijkertijd zijn geïnstalleerd voor PowerShell 5.1 onder Windows.

In een scenario waarin u zowel de AzureRM- als de Az PowerShell-module op hetzelfde Windows-systeem moet installeren:

  • AzureRM moet alleen worden geïnstalleerd in het huidige gebruikersbereik van Windows PowerShell 5.1.
  • Installeer de Az PowerShell-module in PowerShell 7.2 of hoger.

Waarschuwing

De AzureRM PowerShell-module is vanaf 29 februari 2024 officieel afgeschaft. Gebruikers wordt aangeraden om van AzureRM naar de Az PowerShell-module te migreren om ondersteuning en updates te garanderen.

Hoewel de AzureRM-module nog steeds kan functioneren, wordt deze niet meer onderhouden of ondersteund, waardoor het gebruik naar eigen goeddunken en risico van de gebruiker blijft bestaan. Raadpleeg onze migratiebronnen voor hulp bij de overgang naar de Az-module.

Visual Studio

Oudere versies van Visual Studio kunnen Azure PowerShell installeren als onderdeel van de Azure-ontwikkelworkload, waarmee de AzureRM-module wordt geïnstalleerd. Azure PowerShell kan worden verwijderd met behulp van het Visual Studio-installatieprogramma of met behulp van 'Verwijderen' in apps en functies. Als u PowerShell 7.x al hebt geïnstalleerd, moet u mogelijk de Az PowerShell-module handmatig installeren .

Proxy blokkeert verbinding

Als u fouten krijgt van Install-Module de PowerShell Gallery die niet bereikbaar is, bevindt u zich mogelijk achter een proxy. Verschillende besturingssystemen en netwerkomgevingen hebben verschillende vereisten om een systeembrede proxy te configureren. Neem contact op met uw systeembeheerder voor uw proxyinstellingen en voor instructies voor het configureren van deze instellingen voor uw omgeving.

PowerShell zelf is mogelijk niet geconfigureerd om deze proxy automatisch te gebruiken. Met PowerShell 5.1 en hoger configureert u de PowerShell-sessie zo dat een proxy wordt gebruikt met de volgende opdrachten:

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

Als de referenties voor uw besturingssysteem correct zijn geconfigureerd, worden met deze configuratie PowerShell-aanvragen via de proxy gerouteerd. Als u deze instelling tussen verschillende sessies wilt behouden, voegt u de opdracht toe aan een PowerShell-profiel.

Als u het pakket wilt installeren, moet uw proxy HTTPS-verbindingen met www.powershellgallery.com toestaan.

Objectverwijzing is niet ingesteld op een exemplaar van een object

Het bericht 'Objectverwijzing is niet ingesteld op een exemplaar van een object' betekent dat u verwijst naar een object dat null is of een Azure-resource die niet bestaat of dat u geen machtigingen hebt voor toegang.

$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.

U kunt de Get-AzResource cmdlet gebruiken om te controleren of de opgegeven Azure-resource bestaat.

Get-AzResource -ResourceId $resourceId

Machtigingsproblemen met AzAD-cmdlets

De Az PowerShell-module maakt gebruik van de Microsoft Graph API. voor het Beheer isteren of beheren van resources in Azure met de Az PowerShell-module zijn dezelfde machtigingen vereist als het uitvoeren van de identieke taak vanuit Azure Portal of een ander azure-opdrachtregelprogramma. Zie de naslaginformatie over Microsoft Graph-machtigingen voor specifieke vragen over machtigingen.

Microsoft Graph-queryparameters

AzAd-cmdlets onder Az.Resources ondersteunen nu queryparameters en zoekqueryparameters. Zie de eerder verwezen koppelingen voor meer informatie over de syntaxis.

Get-AzAdGroupMember retourneert geen service-principals

Vanwege beperkingen met de huidige Graph API worden service-principals niet geretourneerd door Get-AzAdGroupMember in Az 7.x. Als tijdelijke oplossing kan Invoke-AzRestMethod worden gebruikt met de bètaversie van de Microsoft Graph API.

Voor het volgende voorbeeld is de Az PowerShell-module vereist. Vervang myGroupName in de eerste regel door de naam van uw groep.

$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'}}

Opdracht gevonden, maar kan niet worden geladen

Het volgende bericht wordt geretourneerd door PowerShell wanneer u een van de Az PowerShell-opdrachten probeert uit te voeren.

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'.

Dit bericht treedt op wanneer u zowel de Az- als AzureRM PowerShell-modules hebt geïnstalleerd op hetzelfde Windows-systeem en deze aanwezig zijn in de $env:PSModulePath voor dezelfde versie van PowerShell.

Belangrijk

Wanneer AzureRM is geïnstalleerd in het AllUsers bereik van Windows PowerShell, wordt het geïnstalleerd op een locatie die deel uitmaakt van de $env:PSModulePath voor PowerShell 7. Dit wordt niet ondersteund vanwege conflicten tussen de AzureRM- en Az PowerShell-modules.

Zowel Az als AzureRM kunnen naast elkaar bestaan op hetzelfde Windows-systeem, maar alleen als AzureRM is geïnstalleerd in het CurrentUser bereik van Windows PowerShell en Az geïnstalleerd in PowerShell 7. Zie De Az PowerShell-module installeren voor meer informatie.

Waarschuwing

De AzureRM PowerShell-module is vanaf 29 februari 2024 officieel afgeschaft. Gebruikers wordt aangeraden om van AzureRM naar de Az PowerShell-module te migreren om ondersteuning en updates te garanderen.

Hoewel de AzureRM-module nog steeds kan functioneren, wordt deze niet meer onderhouden of ondersteund, waardoor het gebruik naar eigen goeddunken en risico van de gebruiker blijft bestaan. Raadpleeg onze migratiebronnen voor hulp bij de overgang naar de Az-module.

In MacOS wordt een fout geretourneerd wanneer sleutelhangerautorisatie mislukt

Wanneer u Azure PowerShell uitvoert op MacOS, treedt er mogelijk een foutbericht op tijdens het aanmelden bij uw Azure-account vanuit een PowerShell-sessie.

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

Als tijdelijke oplossing voor dit probleem kunt u het opslaan van referenties tussen sessies uitschakelen door de volgende opdracht uit te voeren. Nadat u deze wijziging hebt aangebracht, moet u echter telkens worden uitgevoerd Connect-AzAccount wanneer u een nieuwe PowerShell-sessie start.

Disable-AzContextAutosave

De verbinding voor deze site is niet beveiligd

Wanneer uw standaardbrowser Microsoft Edge is, treedt mogelijk de volgende fout op wanneer u zich interactief probeert aan te melden bij Azure met Connect-AzAccount: 'De verbinding voor deze site is niet beveiligd.' Ga naar edge://net-internals/#hsts in Microsoft Edge om dit probleem op te lossen. Voeg localhost toe onder Domeinbeveiligingsbeleid verwijderen en klik op Verwijderen.

Fout met geverifieerd domein van service-principal-id-id

Fout: waarden van de eigenschap identifierUris moeten een geverifieerd domein van de organisatie of het bijbehorende subdomein gebruiken bij het uitvoeren New-AzADServicePrincipal of New-AzADApplication.

Vanwege de wijziging die fouten veroorzaakt in Microsoft Entra waarvoor AppId URI in toepassingen met één tenant vereist is om het gebruik van standaardschema's of geverifieerde domeinen te vereisen, moet u de Az.Resources-module upgraden naar versie 4.1.0 of hoger om door te gaan met het gebruik New-AzADServicePrincipal of New-AzADApplication de cmdlets.

U kunt ook upgraden naar Az PowerShell-moduleversie 6.0 of hoger.

Tijdlijn

De eis is van kracht geworden op 15 oktober 2021.

Betrokken versies

De volgende versies van Azure PowerShell worden beïnvloed door de wijziging die fouten veroorzaakt in AzureAD:

  • Az.Resources PowerShell-module versie 3.5.1-preview of minder.
  • Az PowerShell-moduleversie 5.9.0 of minder.

Als u na de upgrade nog steeds problemen ondervindt, kunt u een probleem openen.

Tijdelijke oplossing

Als u geen upgrade kunt uitvoeren naar de PowerShell-modules die eerder zijn beschreven, kunt u deze stappen volgen bij het maken van een service-principal:

Overige problemen

Als u een productprobleem ondervindt met Azure PowerShell die niet wordt vermeld in dit artikel of als u meer hulp nodig hebt, kunt u een probleem indienen op GitHub.