Condividi tramite


Risolvere problemi relativi a State Configuration in Automazione di Azure

Nota

Automazione di Azure State Configuration verrà ritirato il 30 settembre 2027. Passare a Configurazione di Azure Machine entro tale data. Per altre informazioni, vedere l'annuncio del post di blog. Il servizio Configurazione macchina di Azure combina le funzionalità dell'estensione DSC, di State Configuration di Automazione di Azure e le funzionalità più comunemente richieste dai commenti e suggerimenti dei clienti. Configurazione macchina di Azure include anche il supporto del computer ibrido tramite i server abilitati per Arc.

Attenzione

Automazione di Azure DSC per Linux è stato ritirato il 30 settembre 2023. Per altre informazioni, vedere l'annuncio.

Questo articolo fornisce informazioni sulla risoluzione dei problemi e sulla risoluzione dei problemi che si verificano durante la compilazione o la distribuzione delle configurazioni in Automazione di Azure State Configuration. 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 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. Assicurarsi 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: Una configurazione con caratteri speciali non può essere eliminata 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

Questo errore è un problema temporaneo. Riprovare.

Risoluzione

Usare il cmdlet Remove-AzAutomationDscConfiguration per eliminare la configurazione.

Scenario: Non è stato possibile registrare l'agente DSC

Problema

Viene visualizzato un errore quando si usa Set-DscLocalConfigurationManager o un altro cmdlet DSC.

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
https://<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.RegisterDscAgentCommand
    + PSComputerName        : <computerName>

Causa

Il problema di rete può causare questo errore. Controllare le impostazioni del firewall o se il computer è protetto da un server proxy.

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 di 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

Le possibili cause sono le seguenti:

Risoluzione

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

Passaggio 1: Annullare la registrazione del nodo

  1. Nel portale di Azure, passare a Home>Account di automazione> (account di automazione pertinente) >Configurazione stato (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. Nel portale di Azure, passare a Home>Macchina virtuale> (nodo con esito negativo) >Estensioni.
  2. Selezionare Microsoft.PowerShell.DSC, l'estensione di PowerShell DSC.
  3. Selezionare Disinstalla per disinstallare l'estensione.

Passaggio 3: Rimuovere dal nodo tutti i certificati non validi o scaduti

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 con esito negativo

  1. Nel portale di Azure, passare a Home>Account di automazione> (account di automazione pertinente) >Configurazione stato (DSC).
  2. Selezionare Nodi.
  3. Selezionare 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.
    • Nel portale di Azure, passare a Home>Account di automazione> (account di automazione pertinente) >Configurazione stato (DSC). Selezionare un nodo, quindi selezionare Assegna configurazione nodo.
    • Usare il cmdlet Set-AzAutomationDscNode.

Scenario: Non sono state prodotte configurazioni di nodo (file MOF) durante la compilazione di 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 relativo al nodo DSC rimane bloccato nello stato "in corso"

Problema

L'output dell'agente DSC è il seguente:

No instance found with given property values

Causa

Questo problema può verificarsi se Strumentazione gestione Windows (WMI) è danneggiato nel nodo.

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

Questo problema può verificarsi quando si usa una credenziale in una configurazione, ma non è stato specificato correttamente ConfigurationData per impostare su PSDscAllowPlainTextPassword true per ogni configurazione del nodo.

Risoluzione

Assicurarsi di passare l'impostazione PSDscAllowPlainTextPassword corretta ConfigurationDatasu true per ogni configurazione del nodo. Vedere Compilazione di configurazioni DSC in State Configuration di Automazione di Azure.

Scenario: "Errore durante l'attivazione dell'estensione" per 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 che il nome del nodo corrisponda esattamente al nome nel servizio o che non includa il nome di configurazione del nodo. In questo modo il nodo viene abilitato ma non viene assegnata una configurazione del nodo.

Scenario: Durante la registrazione di un nodo tramite PowerShell viene visualizzato il messaggio "Si sono verificati uno o più errori"

Problema

Quando si registra un nodo usando Register-AzAutomationDSCNode, 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 diversa da quella usata dall'account di Automazione.

Risoluzione

Considerare il nodo tra sottoscrizioni come nodo definito per un cloud separato o 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: Esito negativo con errore generico quando si applica 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 dei nodi che si sovrappongono possono causare problemi di release

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 errore agent has a problem durante l'onboarding di un computer.

Causa

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

Risoluzione

Per risolvere il problema, applicare una configurazione di test diversa e ritentare la configurazione originale.

Passaggi successivi

Se il problema non viene visualizzato qui o non è possibile risolvere il problema, provare uno dei canali di supporto seguenti:

  • Ottenere risposte dagli esperti di Azure tramite i forum di Azure.
  • Connettersi con @AzureSupport, l'account ufficiale Microsoft Azure per migliorare l'esperienza del cliente. 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.