Résoudre des problèmes liés à Azure Automation State Configuration
Remarque
Azure Automation State Configuration sera mise hors service le 30 septembre 2027. Veuillez passer à Azure Machine Configuration avant cette date. Pour en savoir plus, consultez l’annonce du billet de blog. Le service Azure Machine Configuration combine les fonctionnalités d’Extension DSC, d’Azure Automation State Configuration, ainsi que les fonctionnalités les plus couramment demandées selon les commentaires des clients. Azure Machine Configuration inclut également la prise en charge des ordinateurs hybrides via des serveurs avec Arc.
Attention
Azure Automation DSC pour Linux a été mis hors service le 30 septembre 2023. Pour plus d'informations, consultez Annonce.
Cet article fournit des informations sur la détection et la résolution des problèmes qui surviennent lorsque vous compilez ou déployez des configurations dans Azure Automation State Configuration. Pour obtenir des informations générales sur la fonctionnalité State Configuration, consultez Vue d’ensemble d’Azure Automation State Configuration.
Diagnostiquer un problème
Quand vous recevez une erreur de compilation ou de déploiement pour la configuration, voici quelques étapes à suivre pour essayer de diagnostiquer le problème.
1. Vérifier que votre configuration est correctement compilée sur l’ordinateur local
Azure Automation State Configuration est basé sur PowerShell Desired State Configuration (DSC). Vous trouverez la documentation relative à la syntaxe et au langage DSC dans les documents PowerShell DSC.
En compilant une configuration DSC sur votre ordinateur local, vous pouvez détecter et résoudre les erreurs courantes, telles que :
- Modules manquants.
- Erreurs de syntaxe.
- Erreurs de logique.
2. Afficher les journaux DSC sur votre nœud
Si votre configuration est correctement compilée, mais échoue lorsqu’elle est appliquée à un nœud, vous pouvez trouver les informations détaillées dans les journaux DSC. Pour plus d’informations sur l’emplacement de ces journaux, consultez Où se trouvent les journaux des événements DSC ?
Le module xDscDiagnostics peut vous aider à analyser des informations détaillées dans les journaux DSC. Si vous contactez le support, ces journaux sont nécessaires pour diagnostiquer votre problème.
Vous pouvez installer le module xDscDiagnostics
sur votre ordinateur local en suivant les instructions figurant dans la section Install the stable version module (Installer le module de version stable).
Pour installer le module xDscDiagnostics
sur votre ordinateur Azure, utilisez la commande Invoke-AzVMRunCommand. Vous pouvez aussi utiliser l’option Run Command dans le portail Azure, en suivant les étapes mentionnées dans Exécuter des scripts PowerShell dans votre machine virtuelle Windows avec Run Command.
Pour plus d’informations sur l’utilisation de xDscDiagnostics, consultez Utilisation de xDscDiagnostics pour analyser les journaux DSC. Consultez également les cmdlets xDscDiagnostics.
3. S’assurer que les nœuds et l’espace de travail Automation disposent des modules nécessaires
DSC dépend des modules installés sur le nœud. Lorsque vous utilisez Azure Automation State Configuration, importez tous les modules requis dans votre compte Automation à l’aide des étapes indiquées dans Importer des modules. Les configurations peuvent également avoir une dépendance sur des versions de modules spécifiques. Pour plus d’informations, consultez Résoudre les problèmes liés aux modules.
Scénario : Une configuration contenant des caractères spéciaux ne peut pas être supprimée du portail
Problème
Lorsque vous tentez de supprimer une configuration DSC à partir du portail, vous rencontrez l’erreur suivante :
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.
Cause
Cette erreur est un problème temporaire. Réessayez plus tard.
Résolution
Utilisez l’applet de commande Remove-AzAutomationDscConfiguration pour supprimer la configuration.
Scénario : Impossible d’inscrire l’agent DSC
Problème
Vous recevez une erreur lorsque vous utilisez Set-DscLocalConfigurationManager ou une autre applet de commande 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>
Cause
Le problème réseau peut entraîner cette erreur. Vérifiez vos paramètres de pare-feu ou si la machine se trouve derrière un serveur proxy.
Résolution
Vérifiez que votre machine a accès aux points de terminaison appropriés pour DSC et réessayez. Pour obtenir la liste des ports et adresses nécessaires, consultez Planification réseau.
Scénario : Les rapports d’état retournent le code de réponse « Non autorisé »
Problème
Lors de l’inscription d’un nœud à l’aide d’Azure Automation State Configuration, vous recevez l’un des messages d’erreur suivants :
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.
Cause
Les causes possibles sont les suivantes :
Certificat incorrect ou expiré. Consultez Réinscrire un nœud.
Une configuration de proxy qui n’autorise pas l’accès à
*.azure-automation.net
. Pour plus d’informations, consultez Configuration de réseaux privés.Lorsque vous désactivez l’authentification locale dans Azure Automation. Consultez Désactiver l’authentification locale. Pour résoudre ce problème, consultez Réactiver l’authentification locale.
L’heure de l’ordinateur client est de nombreuses minutes inexactes par rapport à l’heure réelle. Utilisez la commande suivante pour vérifier l’heure :
w32tm /stripchart /computer:time.windows.com /samples:6
.
Résolution
Utilisez les étapes suivantes pour réinscrire le nœud DSC défaillant.
Étape 1 : Désinscrire le nœud
- Dans le portail Azure, accédez à Accueil>Comptes Automation> (votre compte Automation) >State Configuration (DSC).
- Sélectionnez Nœuds, puis sélectionnez le nœud qui pose problème.
- Sélectionnez Désinscrire pour annuler l’inscription du nœud.
Étape 2 : Désinstaller l’extension DSC du nœud
- Sur le portail Azure, accédez à Accueil>Machine virtuelle> (nœud défaillant) >Extensions.
- Sélectionnez Microsoft.PowerShell.DSC, l’extension PowerShell DSC.
- Sélectionnez Désinstaller pour désinstaller l’extension.
Étape 3 : Supprimer tous les certificats inutiles ou expirés du nœud
Sur le nœud défaillant et à partir d’une invite PowerShell avec élévation de privilèges, exécutez ces commandes :
$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)
}
}
Étape 4 : Réinscrire le nœud défaillant
- Dans le portail Azure, accédez à Accueil>Comptes Automation> (votre compte Automation) >State Configuration (DSC).
- Sélectionner Nœuds.
- Sélectionnez Ajouter.
- Sélectionnez le nœud défaillant.
- Sélectionnez Connecter et sélectionnez les options souhaitées.
Scénario : Le nœud est en état d’échec avec une erreur « Introuvable »
Problème
Un rapport pour le nœud indique un état Échec et contient l’erreur :
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.
Cause
Cette erreur se produit généralement quand le nœud est affecté à un nom de configuration, par exemple ABC au lieu d’un nom de configuration de nœud, par exemple ABC.WebServer.
Résolution
- Veillez à bien d’affecter le nœud au nom de configuration du nœud et non pas au nom de configuration.
- Vous pouvez affecter une configuration de nœud à un nœud à l'aide du portail Azure ou d’une cmdlet PowerShell.
- Dans le portail Azure, accédez à Accueil>Comptes Automation> (votre compte Automation) >State Configuration (DSC). Sélectionnez ensuite un nœud et Affecter la configuration du nœud.
- Utilisez l’applet de commande Set-AzAutomationDscNode.
Scénario : Aucune configuration de nœud (fichiers MOF) n’a été produite au cours d’une compilation de configuration
Problème
Votre tâche de compilation DSC s’interrompt avec l’erreur :
Compilation completed successfully, but no node configuration **.mof** files were generated.
Cause
Quand l’expression qui suit le mot-clé Node
dans la configuration DSC s’évalue à $null
, aucune configuration de nœud n’est générée.
Résolution
Utilisez l’une des solutions suivantes pour résoudre ce problème :
- Vérifiez que l’expression en regard du mot clé
Node
dans la définition de la configuration n’est pas Null. - Si vous effectuez une transmission de ConfigurationData pendant la compilation de la configuration, vérifiez que vous transmettez les valeurs que la configuration attend des données de configuration.
Scénario : Le rapport du nœud DSC se bloque dans l’état En cours
Problème
La sortie de l’agent DSC est la suivante :
No instance found with given property values
Cause
Ce problème peut se produire si Windows Management Instrumentation (WMI) est endommagé sur le nœud.
Résolution
Suivez les instructions dans Limitations et problèmes connus dans DSC.
Scénario : Il est impossible d’utiliser des informations d’identification dans une configuration DSC
Problème
Votre tâche de compilation DSC est interrompue avec l’erreur :
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.
Cause
Ce problème peut se produire lorsque vous utilisez des informations d’identification dans une configuration, mais n’avez pas fourni la bonne valeur ConfigurationData
pour définir PSDscAllowPlainTextPassword
sur true pour chaque configuration de nœud.
Résolution
Veillez à fournir la bonne valeur ConfigurationData
pour définir PSDscAllowPlainTextPassword
sur true pour chaque configuration de nœud. Consultez Compilation de configurations DSC dans Azure Automation State Configuration.
Scénario : Erreur « Échec lors du traitement de l’extension » au moment de l’activation d’une machine à partir d’une extension DSC
Problème
Lors de l’activation d’une machine à l’aide d’une extension DSC, un échec se produit avec l’erreur :
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. .\".
Cause
Cette erreur se produit généralement quand le nœud est affecté à un nom de configuration de nœud qui n’existe pas dans le service.
Résolution
Assurez-vous que le nom du nœud correspond exactement au nom dans le service, ou n’incluez pas le nom de configuration du nœud. Cela active le nœud, mais n’affecte pas de configuration de nœud.
Scénario : Erreur « Une ou plusieurs erreurs se sont produites » lors de l’inscription d’un nœud avec PowerShell
Problème
Lors de l’inscription d’un nœud à l’aide de Register-AzAutomationDSCNode ou de Register-AzureRMAutomationDSCNode, vous recevez l’erreur suivante :
One or more errors occurred.
Cause
Cette erreur se produit lorsque vous essayez d’inscrire un nœud dans un autre abonnement que celui utilisé par le compte Automation.
Résolution
Traitez ce nœud d’un autre abonnement comme un nœud défini dans un cloud distinct ou localement. Inscrivez le nœud à l’aide de l’une des options suivantes pour l’activation des machines :
- Windows : Machines physiques/virtuelles Windows locales ou dans un cloud autre qu’Azure/AWS.
- Linux : Machines physiques/virtuelles Linux locales ou dans un cloud autre qu’Azure.
Scénario : Message d’erreur « Échec du provisionnement »
Problème
Lors de l’inscription d’un nœud, l’erreur suivante s’affiche :
Provisioning has failed
Cause
Ce message s’affiche lorsqu’il y a un problème de connectivité entre le nœud et Azure.
Résolution
Déterminez si votre nœud se trouve dans un réseau virtuel privé (VPN) ou s’il a d’autres problèmes pour se connecter à Azure. Consultez Résoudre les problèmes de déploiement de fonctionnalités.
Scénario : Échec avec une erreur générale lors de l’application d’une configuration dans Linux
Problème
Lorsque vous appliquez une configuration dans Linux, un échec se produit avec l’erreur :
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..
Cause
Si l’emplacement de /tmp est défini sur noexec
, la version actuelle de DSC ne parvient pas à appliquer les configurations.
Résolution
Supprimez l’option noexec
de l’emplacement /tmp.
Scénario : Les noms des configurations de nœuds qui se chevauchent peuvent entraîner une version incorrecte
Problème
Lorsque vous utilisez un script de configuration unique pour générer plusieurs configurations de nœuds et que les noms de certaines d’entre-elles sont des sous-ensembles d’autres noms, le service de compilation peut aboutir à l’attribution d’une configuration incorrecte. Ce problème survient uniquement lorsque vous utilisez un seul script pour générer des configurations avec des données de configuration par nœud, et uniquement quand le chevauchement de nom se produit au début de la chaîne. C’est par exemple le cas si un script de configuration unique est utilisé pour générer des configurations en fonction de données de nœuds transmises sous forme de table de hachage à l’aide d’applets de commande, et que les données de nœuds incluent des serveurs nommés server et 1server.
Cause
Ce problème connu avec le service de compilation.
Résolution
La meilleure solution de contournement consiste à compiler localement ou dans un pipeline CI/CD, et à charger les fichiers MOF de la configuration de nœud directement dans le service. Si la compilation dans le service est une exigence, la meilleure solution suivante consiste à fractionner les travaux de compilation de manière qu’il n’y ait pas de chevauchement des noms.
Scénario : Erreur de délai d’expiration de la passerelle lors du chargement de la configuration DSC
Problème
Une erreur GatewayTimeout
s’affiche lorsque vous chargez une configuration DSC.
Cause
Les configurations DSC dont la compilation prennent beaucoup de temps peuvent provoquer cette erreur.
Résolution
Vous pouvez accélérer l’analyse des configurations DSC en incluant explicitement le paramètre ModuleName
pour tous les appels Import-DSCResource.
Scénario : Erreur lors de l’intégration d’une machine
Problème
Vous recevez une erreur agent has a problem
lors de l’intégration d’une machine.
Cause
Il s'agit d'un problème connu. Vous ne pouvez pas assigner attribuer à nouveau la même configuration, car le nœud reste dans un état d’attente.
Résolution
Pour contourner le problème, appliquez une autre configuration de test et réessayez la configuration d’origine.
Étapes suivantes
Si votre problème ne figure pas ici ou que vous ne pouvez pas le résoudre, utilisez l’un des canaux suivants pour obtenir de l’aide :
- Obtenez des réponses de la part d’experts Azure via les Forums Azure.
- Connectez-vous à @AzureSupport, le compte Microsoft Azure officiel pour améliorer l’expérience client. Le Support Azure fournit à la communauté Azure des réponses, un support technique et des experts.
- Signaler un incident au support Azure Accédez au site du support Azure, puis sélectionnez Obtenir de l’aide.