Risoluzione dei problemi relativi al modulo Az PowerShell

Abilitazione della registrazione di debug

Uno dei primi passaggi da eseguire per risolvere un problema con il modulo Azure Az PowerShell consiste nell'abilitare la registrazione di debug.

Per abilitare la registrazione di debug per ogni comando, specificare il parametro Debug .

Get-AzResource -Name 'DoesNotExist' -Debug

Per abilitare la registrazione di debug per un'intera sessione di PowerShell, impostare il valore della variabile DebugPreference su Continue.

$DebugPreference = 'Continue'

Installazione

Questa sezione contiene un elenco di soluzioni ai problemi comuni durante l'installazione del modulo Azure Az PowerShell.

Coesistenza di Az e AzureRM

Avviso

Non è possibile installare contemporaneamente i moduli AzureRM e Az PowerShell in Windows PowerShell 5.1.

In uno scenario in cui è necessario installare il modulo AzureRM e Az PowerShell nello stesso sistema Windows:

  • AzureRM deve essere installato solo nell'ambito utente corrente di Windows PowerShell 5.1.
  • Installare il modulo Az PowerShell in PowerShell 7.2 o versione successiva.

Avviso

Il modulo AzureRM PowerShell è stato ufficialmente deprecato a partire dal 29 febbraio 2024. È consigliabile eseguire la migrazione da AzureRM al modulo Az PowerShell per garantire il supporto e gli aggiornamenti continui.

Anche se il modulo AzureRM può ancora funzionare, non è più gestito o supportato, posizionando qualsiasi uso continuo a discrezione e rischio dell'utente. Per indicazioni sulla transizione al modulo Az, vedere le risorse di migrazione.

Visual Studio

Le versioni precedenti di Visual Studio possono installare Azure PowerShell come parte del carico di lavoro Sviluppo di Azure, che installa il modulo AzureRM. Azure PowerShell può essere rimosso usando il programma di installazione di Visual Studio o "Disinstalla" in App e funzionalità. Se PowerShell 7.x è già stato installato, potrebbe essere necessario installare manualmente il modulo Az PowerShell.

Il proxy blocca la connessione

Se si ricevono errori dal Install-Module fatto che PowerShell Gallery non è raggiungibile, è possibile che ci si trovi dietro un proxy. I requisiti per configurare un proxy a livello di sistema variano a seconda del sistema operativo e dell'ambiente di rete. Per conoscere le impostazioni del proxy e sapere come configurarlo per l'ambiente corrente, contattare l'amministratore di sistema.

PowerShell stesso potrebbe non essere configurato per l'uso automatico di questo proxy. Con PowerShell 5.1 e versioni successive usare i comandi seguenti per configurare la sessione di PowerShell per l'uso di un proxy:

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

Se le credenziali del sistema operativo sono configurate correttamente, questa configurazione consentirà di reindirizzare le richieste di PowerShell tramite il proxy. Per rendere persistente questa impostazione tra una sessione e l'altra, aggiungere i comandi al proprio profilo PowerShell.

Per installare il pacchetto, il proxy deve consentire alle connessioni HTTPS di www.powershellgallery.com.

riferimento a un oggetto non impostato su un'istanza di un oggetto

Il messaggio "Riferimento all'oggetto non impostato su un'istanza di un oggetto" indica che si fa riferimento a un oggetto null o a una risorsa di Azure che non esiste o che non si dispone delle autorizzazioni per l'accesso.

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

È possibile usare il Get-AzResource cmdlet per verificare che la risorsa di Azure specificata esista.

Get-AzResource -ResourceId $resourceId

Problemi di autorizzazione con i cmdlet AzAD

Il modulo Az PowerShell usa l'API Microsoft Graph. Amministrazione istering o la gestione delle risorse in Azure con il modulo Az PowerShell richiede le stesse autorizzazioni dell'esecuzione dell'attività identica da portale di Azure o da qualsiasi altro strumento da riga di comando di Azure. Per domande specifiche sulle autorizzazioni, vedere le informazioni di riferimento sulle autorizzazioni di Microsoft Graph.

Parametri di query di Microsoft Graph

I cmdlet AzAd in Az.Resources supportano ora i parametri di query e i parametri di query di ricerca. Per informazioni dettagliate sulla sintassi, vedere i collegamenti a cui si fa riferimento in precedenza.

Get-AzAdGroupMember non restituisce entità servizio

A causa delle limitazioni dell'API Graph corrente, le entità servizio non vengono restituite da Get-AzAdGroupMember in Az 7.x. Come soluzione alternativa, Invoke-AzRestMethod può essere usato con la versione beta dell'API Microsoft Graph.

L'esempio seguente richiede il modulo Az PowerShell. Sostituire myGroupName nella prima riga con il nome del gruppo.

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

Impossibile trovare il comando ma non è stato possibile caricare

Il messaggio seguente viene restituito da PowerShell quando si tenta di eseguire uno dei comandi az di PowerShell.

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

Questo messaggio si verifica quando sono installati entrambi i moduli Az e AzureRM PowerShell nello stesso sistema basato su Windows e sono presenti nel $env:PSModulePath per la stessa versione di PowerShell.

Importante

Quando AzureRM viene installato nell'ambito AllUsers di Windows PowerShell, viene installato in un percorso che fa parte di $env:PSModulePath per PowerShell 7. Questo non è supportato a causa di conflitti tra i moduli AzureRM e Az PowerShell.

Sia Az che AzureRM possono coesistere nello stesso sistema Windows, ma solo se AzureRM è installato nell'ambito CurrentUser di Windows PowerShell e Az installato in PowerShell 7. Per altre informazioni, vedere Installare il modulo Az PowerShell.

Avviso

Il modulo AzureRM PowerShell è stato ufficialmente deprecato a partire dal 29 febbraio 2024. È consigliabile eseguire la migrazione da AzureRM al modulo Az PowerShell per garantire il supporto e gli aggiornamenti continui.

Anche se il modulo AzureRM può ancora funzionare, non è più gestito o supportato, posizionando qualsiasi uso continuo a discrezione e rischio dell'utente. Per indicazioni sulla transizione al modulo Az, vedere le risorse di migrazione.

In MacOS viene restituito un errore quando l'autorizzazione KeyChain non riesce

Quando si esegue Azure PowerShell in MacOS, è possibile che venga visualizzato un messaggio di errore durante il tentativo di accedere all'account Azure da una sessione di PowerShell.

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

Come soluzione alternativa per questo problema, è possibile disabilitare l'archiviazione delle credenziali tra le sessioni eseguendo il comando seguente. Dopo aver apportato questa modifica, è tuttavia necessario eseguire Connect-AzAccount ogni volta che si avvia una nuova sessione di PowerShell.

Disable-AzContextAutosave

La connessione per il sito non è sicura

Quando il browser predefinito è Microsoft Edge, è possibile che si verifichi l'errore seguente quando si tenta di accedere ad Azure in modo interattivo con Connect-AzAccount: "La connessione per questo sito non è sicura". Per risolvere questo problema, visitare edge://net-internals/#hsts in Microsoft Edge. Aggiungere localhost in "Elimina criteri di sicurezza del dominio" e fare clic su Elimina.

Errore di dominio verificato dell'entità servizioUri

Errore: i valori della proprietà identifierUris devono usare un dominio verificato dell'organizzazione o il relativo sottodominio viene visualizzato durante l'esecuzione New-AzADServicePrincipal o New-AzADApplication.

A causa della modifica che causa un'interruzione di Microsoft Entra che richiede l'uso dell'URI AppId nelle applicazioni a tenant singolo per richiedere l'uso di domini predefiniti o verificati, è necessario aggiornare il modulo Az.Resources alla versione 4.1.0 o successiva per continuare a usare New-AzADServicePrincipal o New-AzADApplication cmdlet.

È anche possibile eseguire l'aggiornamento al modulo Az PowerShell versione 6.0 o successiva.

Sequenza temporale

Il requisito è entrato in vigore il 15 ottobre 2021.

Versioni interessate

Le versioni seguenti di Azure PowerShell sono interessate dalla modifica che causa un'interruzione di AzureAD:

  • Modulo Az.Resources PowerShell versione 3.5.1-preview o minore.
  • Modulo Az PowerShell versione 5.9.0 o inferiore.

Se si verificano ancora problemi dopo l'aggiornamento, è possibile aprire un problema.

Soluzione alternativa

Se non è possibile eseguire l'aggiornamento ai moduli di PowerShell descritti in precedenza, è possibile seguire questi passaggi durante la creazione di un'entità servizio:

Altri problemi

Se si verifica un problema di prodotto con Azure PowerShell non elencato in questo articolo o si richiede ulteriore assistenza, segnalare un problema in GitHub.