Condividi tramite


Risoluzione dei problemi relativi al modulo Az PowerShell

Abilitare la registrazione di debug

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

Per abilitare la registrazione di debug su base per 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'

Messaggi di annuncio negli scenari di automazione

Quando ci si connette ad Azure con Azure PowerShell, i messaggi di annuncio vengono visualizzati usando il flusso di informazioni di PowerShell per impedire che modifichino l'output restituito basato su oggetti. Anche se abbiamo fatto ogni sforzo per garantire che i messaggi di annuncio non influiscano sull'esperienza, esistono alcuni scenari di automazione in cui potrebbero influire sull'utilizzo. In caso di problemi, è consigliabile eliminare il flusso di informazioni in questi scenari:

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

Web Account Manager (WAM)

  • Il metodo di accesso interattivo non può aprire una finestra per WAM e restituisce l'errore: l'autenticazione annullata dall'utente.
  • I cmdlet di Azure PowerShell non possono essere eseguiti dopo l'accesso con un nome utente e una password o un codice del dispositivo.
  • La finestra popup WAM non visualizza l'opzione Account di lavoro e scuola.
  • Il metodo di accesso interattivo non può aprire una finestra wam nella console di Windows PowerShell ISE.

La soluzione alternativa per questi problemi consiste nel disabilitare WAM:

Update-AzConfig -EnableLoginByWam $false
  • La finestra popup WAM per selezionare un account non è facile da trovare. Ridurre al minimo le altre finestre per individuare la finestra popup.

Installazione

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

Coesistenza di Az e AzureRM

Avvertimento

Non è supportata l'installazione contemporaneamente dei 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.

Avvertimento

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 utilizzando il programma di installazione di Visual Studio o "Disinstalla" nelle funzionalità dell'app &. Se PowerShell 7.x è già stato installato, potrebbe essere necessario installare manualmente modulo Az PowerShell.

Il proxy blocca la connessione

Se ricevi errori da Install-Module secondo cui la PowerShell Gallery non è raggiungibile, potresti essere dietro un proxy. Diversi sistemi operativi e ambienti di rete hanno requisiti diversi per la configurazione di un proxy a livello di sistema. Contattare l'amministratore di sistema per le impostazioni proxy e come configurarle per l'ambiente.

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

$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 instrada le richieste di PowerShell tramite il proxy. Per rendere persistente questa impostazione tra sessioni, aggiungere i comandi al profilo di PowerShell .

Per installare il pacchetto, il tuo proxy deve consentire le connessioni HTTPS verso www.powershellgallery.com.

Riferimento all'oggetto non impostato su un'istanza di un oggetto

Il messaggio "riferimento all'oggetto non impostato su un'istanza di un oggetto" significa 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 cmdlet Get-AzResource 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. L'amministrazione o la gestione delle risorse in Azure con il modulo Az PowerShell richiede le stesse autorizzazioni dell'esecuzione dell'attività identica dal 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 ora supportano parametri di query e parametri di ricerca . Per informazioni dettagliate sulla sintassi, vedere i collegamenti a cui si fa riferimento in precedenza.

Get-AzAdGroupMember non restituisce principal di 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, è possibile usare Invoke-AzRestMethod 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'}}

Comando trovato ma impossibile da 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 del $env:PSModulePath per PowerShell 7. Ciò 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.

Avvertimento

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 al Portachiavi fallisce.

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 a 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 "Eliminare i criteri di sicurezza del dominio" e cliccare su Elimina.

Errore del dominio verificato di Service Principal IdentifierUri

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

A causa della modifica rivoluzionaria di Microsoft Entra che richiede che l'Uri AppId nelle applicazioni a tenant singolo utilizzi lo schema predefinito o domini verificati, è necessario aggiornare il modulo Az.Resources alla versione 4.1.0 o successiva per continuare a utilizzare i cmdlet New-AzADServicePrincipal o New-AzADApplication.

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

Linea temporale

Il requisito è entrato in vigore il 15 ottobre 2021.

Versioni interessate

Le versioni seguenti di Azure PowerShell sono interessate dalla modifica significativa 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 del prodotto con Azure PowerShell non elencato in questo articolo o si richiede ulteriore assistenza, segnalare un problema in GitHub.