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:
Un certificato non valido o scaduto. Vedere Ripetere la registrazione di un nodo.
Configurazione proxy che non consente l'accesso a
*.azure-automation.net
. Per altre informazioni, vedere Configurazione di reti private.Quando si disabilita l'autenticazione locale in Automazione di Azure. Vedere Disabilitare l'autenticazione locale. Per risolverlo, vedere Riabilitare l'autenticazione locale.
L'ora del computer client è di molti minuti imprecisa rispetto all'ora effettiva. Usare il comando seguente per controllare l'ora:
w32tm /stripchart /computer:time.windows.com /samples:6
.
Risoluzione
Per registrare nuovamente il nodo DSC che ha avuto esito negativo, attenersi alla procedura seguente.
Passaggio 1: Annullare la registrazione del nodo
- Nel portale di Azure, passare a Home>Account di automazione> (account di automazione pertinente) >Configurazione stato (DSC).
- Selezionare Nodi, quindi selezionare il nodo in cui si sono verificati problemi.
- Selezionare Annulla registrazione per annullare la registrazione del nodo.
Passaggio 2: Disinstallare l'estensione DSC dal nodo
- Nel portale di Azure, passare a Home>Macchina virtuale> (nodo con esito negativo) >Estensioni.
- Selezionare Microsoft.PowerShell.DSC, l'estensione di PowerShell DSC.
- 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
- Nel portale di Azure, passare a Home>Account di automazione> (account di automazione pertinente) >Configurazione stato (DSC).
- Selezionare Nodi.
- Selezionare Aggiungi.
- Selezionare il nodo con esito negativo.
- 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 ConfigurationData
su 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:
- Windows: Computer fisici/macchine virtuali Windows locali o in un cloud diverso da Azure/AWS.
- Linux: Computer fisici/macchine virtuali Linux locali o in un cloud diverso da Azure.
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.