Condividi tramite


Risolvere i problemi di esecuzione dei runbook quando si usa PowerShell in Automazione di Azure

Questo articolo fornisce indicazioni sulla diagnosi e la risoluzione dei problemi di esecuzione dei runbook che si verificano quando si usano script o cmdlet di PowerShell in Automazione di Azure.

Annotazioni

Automazione di Azure abilita il ripristino dei runbook eliminati negli ultimi 29 giorni. È possibile ripristinare un runbook eliminato eseguendo uno script di PowerShell come processo nell'account di Automazione. Per altre informazioni, vedere Ripristinare un runbook eliminato.

Limitazioni e problemi noti con i runbook di PowerShell

I runbook di PowerShell sono basati su Windows PowerShell. È possibile modificare il codice direttamente usando l'editor di testo nel portale di Azure. È anche possibile usare un editor di testo offline e quindi importare i runbook in Azure Automation. La versione di PowerShell è determinata dalla versione di runtime specificata.

Limitazioni:

  • Per la versione del runtime di PowerShell 7, le attività del modulo non vengono estratte per i moduli importati.
  • Il tipo di parametro del runbook PSCredential non è supportato nella versione del runtime di PowerShell 7.
  • PowerShell 7.x non supporta i runbook dei flussi di lavoro. Per altre informazioni, vedere Flusso di lavoro di PowerShell.
  • PowerShell 7.x attualmente non supporta i runbook firmati.
  • L'integrazione del controllo del codice sorgente non supporta PowerShell 7.2. I runbook di PowerShell 7.2 nel controllo del codice sorgente vengono creati in un account di Automazione come runtime 5.1.
  • Attualmente sono supportati solo i processi cloud per la versione di runtime di PowerShell 7.2.
  • L'uso di moduli Az e AzureRM nello stesso account di Automazione non è supportato. Per altre informazioni, vedere Aggiornare i moduli di Azure PowerShell in Automazione.

Problemi noti:

  • Le proprietà del runbook che definiscono le preferenze di registrazione non sono supportate nel runtime di PowerShell 7.

    Per risolvere questo problema, impostare in modo esplicito la preferenza all'inizio del runbook come indicato di seguito:

    $VerbosePreference = "Continue"
    $ProgressPreference = "Continue"
    
  • Quando si usa il modulo ExchangeOnlineManagement versione 3.0.0 o successiva, potrebbero verificarsi errori.

    Per risolvere questo problema, assicurati di caricare in modo esplicito i moduli PowerShellGet e PackageManagement.

Prima della risoluzione dei problemi

Seguire questa procedura per identificare e risolvere gli errori comuni prima di procedere alla risoluzione dei problemi:

  1. Verificare che lo script di PowerShell funzioni all'esterno di Automazione di Azure.
  2. Verificare che i moduli necessari vengano importati nell'account di Automazione di Azure.

Problema 1: l'esecuzione del runbook non riesce a causa di un oggetto deserializzato

Sintomi:

Quando si esegue un runbook, potrebbe essere visualizzato il messaggio di errore seguente:

Impossibile associare il parametro <ParameterName>.

Impossibile convertire il valore di tipo Deserialized <ParameterType> in tipo <ParameterType>.

Causa:

Questo errore si verifica con i runbook del flusso di lavoro PowerShell perché il flusso di lavoro di PowerShell archivia oggetti complessi in un formato deserializzato per rendere persistente lo stato del runbook quando il flusso di lavoro viene sospeso.

Risoluzione:

Per risolvere questo problema, usare uno dei metodi seguenti:

  • Se si trasmettono oggetti complessi da un cmdlet PowerShell a un altro, racchiudi questi cmdlet in un'attività InlineScript.
  • Passare il nome o il valore necessario dall'oggetto complesso invece di passare l'intero oggetto.
  • Usare un runbook di PowerShell invece di un runbook del flusso di lavoro PowerShell.

Problema 2: I processi di PowerShell hanno esito negativo con l'errore "Cannot invoke method" (Impossibile richiamare il metodo)

Sintomi:

Quando si avvia un processo di PowerShell in un runbook eseguito in una sandbox di Azure, viene visualizzato il messaggio di errore seguente:

Eccezione generata: non è possibile richiamare il metodo . La chiamata al metodo è supportata solo sui tipi di base in questa modalità di linguaggio.

Causa:

Questo errore può verificarsi perché il runbook non può essere eseguito in modalità Full Language.

Risoluzione:

Per risolvere questo errore, utilizzare uno dei metodi seguenti:

Riferimenti

Contattaci per ricevere assistenza

In caso di domande, è possibile porre domande al supporto della community di Azure. È anche possibile inviare commenti e suggerimenti sul prodotto alla community di commenti e suggerimenti di Azure.