Risolvere problemi relativi a State Configuration in Automazione di Azure

Questo articolo mostra come risolvere i problemi che si verificano durante la compilazione o la distribuzione di configurazioni in State Configuration di Automazione di Azure. Per informazioni generali sulla funzionalità State Configuration, vedere Panoramica di State Configuration in Automazione di Azure.

Diagnosticare un problema

Quando si riceve un errore di compilazione o distribuzione per la configurazione, attenersi alla procedura seguente per diagnosticare il problema.

1. Assicurarsi che la configurazione venga compilata correttamente nel computer locale

State Configuration in Automazione di Azure si basa su PowerShell DSC (Desired State Configuration). La documentazione relativa alla sintassi e al linguaggio DSC è disponibile all'interno della Documentazione di PowerShell DSC.

Mediante la compilazione di una configurazione DSC nel computer locale, è possibile individuare e risolvere errori comuni, come ad esempio:

  • Moduli mancanti.
  • Errori di sintassi.
  • Errori di logica.

2. Visualizzare i log DSC nel nodo

Se la configurazione viene compilata correttamente, ma ha esito negativo quando viene applicata a un nodo, è possibile trovare informazioni dettagliate nei log DSC. Per informazioni su dove trovare questi log, vedere Where are the DSC Event Logs (Ubicazione dei log eventi DSC).

Il modulo xDscDiagnostics può risultare utile per l'analisi dettagliata delle informazioni contenute nei log DSC. Se si contatta il supporto tecnico, questi log sono necessari per diagnosticare il problema.

È possibile installare il modulo xDscDiagnostics nel computer locale seguendo le istruzioni riportate nell'articolo Installare la versione stabile del modulo.

Per installare il modulo xDscDiagnostics nel computer Azure, usare il comando Invoke-AzVMRunCommand. È anche possibile usare l'opzione Esegui comando nel portale di Azure seguendo la procedura descritta in Eseguire gli script di PowerShell nella macchina virtuale Linux con Esegui comando.

Per informazioni sull'uso di xDscDiagnostics, vedere Uso di xDscDiagnostics per analizzare i registri DSC. Vedere anche Cmdlet di xDscDiagnostics.

3. Verificare che i nodi e l'area di lavoro automazione dispongano di moduli necessari

DSC dipende dai moduli installati nel nodo. Quando si usa State Configuration di Automazione di Azure, importare tutti i moduli richiesti nell'account di automazione attenendosi alla procedura descritta in Importare moduli. Le configurazioni possono anche presentare una dipendenza da versioni specifiche dei moduli. Per altre informazioni, vedere Risoluzione dei problemi relativi ai moduli.

Scenario: non è possibile eliminare una configurazione con caratteri speciali dal portale

Problema

Quando si tenta di eliminare una configurazione DSC dal portale, viene visualizzato l'errore seguente:

An error occurred while deleting the DSC configuration '<name>'.  Error-details: The argument configurationName with the value <name> is not valid.  Valid configuration names can contain only letters,  numbers, and underscores.  The name must start with a letter.  The length of the name must be between 1 and 64 characters.

Causa

Si tratta di un problema temporaneo per cui è prevista a breve una soluzione.

Risoluzione

Usare il cmdlet Remove-AzAutomationDscConfiguration per eliminare la configurazione.

Scenario: non è stato possibile registrare l'agente DSC

Problema

Quando il cmdlet Set-DscLocalConfigurationManager o un altro cmdlet DSC viene visualizzato l'errore:

Registration of the Dsc Agent with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000 failed. The
underlying error is: Failed to register Dsc Agent with AgentId 00000000-0000-0000-0000-000000000000 with the server htt
ps://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000/Nodes(AgentId='00000000-0000-0000-0000-000000000000'). .
    + CategoryInfo          : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException
    + FullyQualifiedErrorId : RegisterDscAgentCommandFailed,Microsoft.PowerShell.DesiredStateConfiguration.Commands.Re
   gisterDscAgentCommand
    + PSComputerName        : <computerName>

Causa

Questo errore è in genere causato da un firewall, dal fatto che il computer risiede dietro un server proxy o da altri errori di rete.

Risoluzione

Verificare che il computer abbia accesso agli endpoint corretti per DSC e riprovare. Per un elenco di porte e indirizzi, vedere Pianificazione della rete.

Scenario: i report sullo stato restituiscono il codice di risposta Non autorizzato

Problema

Quando si registra un nodo con State Configuration di Automazione di Azure, viene visualizzato uno dei messaggi di errore seguenti:

The attempt to send status report to the server https://{your Automation account URL}/accounts/xxxxxxxxxxxxxxxxxxxxxx/Nodes(AgentId='xxxxxxxxxxxxxxxxxxxxxxxxx')/SendReport returned unexpected response code Unauthorized.
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC / Registration of the Dsc Agent with the server failed.

Causa

Di seguito sono riportate le possibili cause:

Risoluzione

Per registrare nuovamente il nodo DSC che ha avuto esito negativo, attenersi alla procedura seguente.

Passaggio 1: Annullare la registrazione del nodo

  1. Nella portale di Azure passare a Home>Automation Accounts> (account di Automazione) State configuration (DSC). >
  2. Selezionare Nodi, quindi selezionare il nodo in cui si sono verificati problemi.
  3. Selezionare Annulla registrazione per annullare la registrazione del nodo.

Passaggio 2: Disinstallare l'estensione DSC dal nodo

  1. Nella portale di Azure passare a Home>Virtual Machine> (nodo con errori) >Estensioni.
  2. Selezionare Microsoft.PowerShell.DSC, l'estensione di PowerShell DSC.
  3. Selezionare Disinstalla per disinstallare l'estensione.

Passaggio 3: Rimuovere tutti i certificati non valido o scaduto dal nodo

Nel nodo con esito negativo, eseguire questi comandi da un prompt di PowerShell con privilegi elevati:

$certs = @()
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC"}
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC-OaaS Client Authentication"}
$certs += dir cert:\localmachine\CA | ?{$_.subject -like "CN=AzureDSCExtension*"}
"";"== DSC Certificates found: " + $certs.Count
$certs | FL ThumbPrint,FriendlyName,Subject
If (($certs.Count) -gt 0)
{
    ForEach ($Cert in $certs)
    {
        RD -LiteralPath ($Cert.Pspath)
    }
}

Passaggio 4: Registrare nuovamente il nodo non riuscito

  1. Nella portale di Azure passare a Home>Automation Accounts> (account di Automazione) State configuration (DSC). >
  2. Selezionare Nodi.
  3. Seleziona Aggiungi.
  4. Selezionare il nodo con esito negativo.
  5. Selezionare Connetti, quindi selezionare le opzioni desiderate.

Scenario: Lo stato del nodo indica che non è riuscito con errore "Non trovato"

Problema

Un report del nodo indica lo stato Non riuscito e contiene l'errore seguente:

The attempt to get the action from server https://<url>//accounts/<account-id>/Nodes(AgentId=<agent-id>)/GetDscAction failed because a valid configuration <guid> cannot be found.

Causa

Questo errore si verifica in genere quando al nodo viene assegnato un nome di configurazione, ad esempio ABC, anziché un nome di configurazione nodo (file MOF), ad esempio ABC.WebServer.

Risoluzione

  • Assicurarsi di assegnare al nodo un nome di configurazione nodo e non il nome di configurazione.

  • È possibile assegnare a un nodo una configurazione di nodo usando il portale di Azure o un cmdlet di PowerShell.

    • Nella portale di Azure passare a Home>Automation Accounts> (account di Automazione) State configuration (DSC). > Selezionare un nodo, quindi selezionare Assegna configurazione nodo.
    • Usare il cmdlet Set-AzAutomationDscNode.

Scenario: nessuna configurazione del nodo (file MOF) è stata generata quando è stata compilata una configurazione

Problema

Il processo di compilazione DSC viene sospeso con l'errore seguente:

Compilation completed successfully, but no node configuration **.mof** files were generated.

Causa

Quando l'espressione che segue la parola chiave Node nella configurazione DSC restituisce $null, non vengono prodotte configurazioni di nodo.

Risoluzione

L'uso di una qualsiasi delle soluzioni seguenti consente di correggere il problema:

  • Verificare che l'espressione accanto alla parola chiave Node nella definizione di configurazione non restituisca Null.
  • Se, durante la compilazione della configurazione, si passa il comando ConfigurationData, verificare di specificare i valori previsti necessari per la configurazione dai dati di configurazione.

Scenario: il report del nodo DSC si blocca nello stato In corso

Problema

L'output dell'agente DSC è il seguente:

No instance found with given property values

Causa

La versione di Windows Management Framework (WMF) è stata aggiornata, danneggiando Strumentazione gestione Windows (WMI).

Risoluzione

Seguire le istruzioni riportate nell'articolo Limitazioni e problemi noti di DSC.

Scenario: Non è possibile usare le credenziali in una configurazione DSC

Problema

Il processo di compilazione DSC è stato sospeso con l'errore seguente:

System.InvalidOperationException error processing property 'Credential' of type <some resource name>: Converting and storing an encrypted password as plaintext is allowed only if PSDscAllowPlainTextPassword is set to true.

Causa

In una configurazione sono state usate credenziali, ma non è stato passato l'oggetto ConfigurationData corretto per impostare PSDscAllowPlainTextPassword su True per ogni configurazione nodo.

Risoluzione

Verificare di passare l'oggetto ConfigurationData corretto per impostare PSDscAllowPlainTextPassword su True per ogni configurazione nodo indicata nella configurazione. Vedere Compilazione di configurazioni DSC in State Configuration di Automazione di Azure.

Scenario: errore "Estensione per l'elaborazione degli errori" durante l'abilitazione di un computer da un'estensione DSC

Problema

Quando si abilita un computer usando un'estensione DSC, si verifica l'errore:

VM has reported a failure when processing extension 'Microsoft.Powershell.DSC'. Error message: \"DSC COnfiguration 'RegistrationMetaConfigV2' completed with error(s). Following are the first few: Registration of the Dsc Agent with the server <url> failed. The underlying error is: The attempt to register Dsc Agent with Agent Id <ID> with the server <url> return unexpected response code BadRequest. .\".

Causa

Questo errore si verifica in genere quando al nodo viene assegnato un nome di configurazione nodo che non esiste nel servizio.

Risoluzione

  • Assicurarsi di assegnare al nodo un nome che corrisponda esattamente al nome del servizio.
  • È possibile scegliere di non includere il nome della configurazione del nodo, il che comporta l'abilitazione del nodo, ma non l'assegnazione di una configurazione del nodo.

Scenario: errore "Si sono verificati uno o più errori" durante la registrazione di un nodo tramite PowerShell

Problema

Quando si registra un nodo tramite Register-AzAutomationDSCNode o Register-AzureRMAutomationDSCNode, viene visualizzato l'errore seguente:

One or more errors occurred.

Causa

Questo errore si verifica quando si tenta di registrare un nodo in una sottoscrizione separata da quella usata dall'account di automazione.

Risoluzione

Considerare il nodo tra sottoscrizioni come se fosse definito per un cloud separato o in locale. Registrare il nodo usando una di queste opzioni per l'abilitazione dei computer:

Scenario: messaggio di errore "Provisioning non riuscito"

Problema

Quando si registra un nodo, viene visualizzato l'errore:

Provisioning has failed

Causa

Questo messaggio viene visualizzato quando si verifica un problema di connettività tra il nodo e Azure.

Risoluzione

Stabilire se il nodo si trova in una rete privata virtuale (VPN) o presenta altri problemi di connessione ad Azure. Vedere Risolvere i problemi relativi alla distribuzione di funzionalità.

Scenario: errore con un errore generale durante l'applicazione di una configurazione in Linux

Problema

Quando si applica una configurazione in Linux, si verifica l'errore:

This event indicates that failure happens when LCM is processing the configuration. ErrorId is 1. ErrorDetail is The SendConfigurationApply function did not succeed.. ResourceId is [resource]name and SourceInfo is ::nnn::n::resource. ErrorMessage is A general error occurred, not covered by a more specific error code..

Causa

Se il percorso /tmp è impostato su noexec, l'applicazione delle configurazioni mediante la versione corrente di DSC ha esito negativo.

Risoluzione

Rimuovere l'opzione noexec dal percorso /tmp.

Scenario: i nomi di configurazione del nodo che si sovrappongono possono causare una versione non valida

Problema

Quando si usa un singolo script di configurazione per generare più configurazioni di nodi e alcuni nomi di configurazione nodo sono sottoinsiemi di altri, il servizio di compilazione può finire per assegnare la configurazione sbagliata. Questo problema si verifica solo quando si usa un singolo script per generare configurazioni con i dati di configurazione per singolo nodo e solo quando si verifica una sovrapposizione del nome all'inizio della stringa. Un esempio è costituito da un singolo script di configurazione usato per generare configurazioni basate sui dati del nodo passati come Hashtable mediante cmdlet e i dati del nodo includono server denominati server e 1server.

Causa

Si tratta di un problema noto relativo al servizio di compilazione.

Risoluzione

La soluzione migliore consiste nell'eseguire la compilazione localmente o in una pipeline CI/CD e caricare i file MOF di configurazione del nodo direttamente nel servizio. Se la compilazione nel servizio è un requisito, la soluzione migliore successiva consiste nel suddividere i processi di compilazione in modo che non vi sia alcuna sovrapposizione nei nomi.

Scenario: errore di timeout del gateway durante il caricamento della configurazione DSC

Problema

Quando si carica una configurazione DSC, viene visualizzato l'errore GatewayTimeout.

Causa

Questo errore può essere causato da una configurazione DSC la cui compilazione richieda molto tempo.

Risoluzione

È possibile eseguire l'analisi delle configurazioni DSC più velocemente includendo in modo esplicito il parametro ModuleName per qualsiasi chiamata Import-DSCResource.

Scenario: errore durante l'onboarding di un computer

Problema

Viene visualizzato un agent has a problem errore durante l'onboarding di un computer.

Causa

Questo è un problema noto Non è possibile assegnare di nuovo la stessa configurazione perché il nodo rimane in sospeso.

Risoluzione

La soluzione alternativa consiste nell'applicare una configurazione di test diversa e applicare di nuovo la configurazione originale.

Passaggi successivi

Se il problema riscontrato non è presente in questo elenco o se non si riesce a risolverlo, visitare uno dei canali seguenti per ottenere maggiore assistenza:

  • Ottenere risposte dagli esperti di Azure tramite i forum di Azure.
  • Connessione con @AzureSupport, l'account ufficiale di Microsoft Azure per migliorare l'esperienza dei clienti. Il supporto di Azure mette in contatto la community di Azure con le risorse giuste: risposte, supporto ed esperti.
  • Archiviare un incidente del supporto tecnico di Azure. Accedere al sito del supporto tecnico di Azure e selezionare Supporto tecnico.