Partager via


Extension de configuration d’état souhaité PowerShell

Notes

L’extension DSC sera retirée le 31 mars 2028. Passez à La configuration de machine Azure à cette date. Pour plus d’informations, consultez l’annonce de l'article de blog. Le service Azure Machine Configuration combine certaines fonctionnalités de l’extension DSC, d’Azure Automation State Configuration et des fonctionnalités couramment demandées à partir des commentaires des clients. Azure Machine Configuration inclut également la prise en charge des machines hybrides via des serveurs avec Arc.

Vue d’ensemble

L’extension PowerShell DSC pour Windows télécharge et applique une configuration PowerShell DSC sur une machine virtuelle Azure. L’extension DSC appelle PowerShell DSC pour appliquer la configuration DSC reçue sur la machine virtuelle. Ce document présente les plateformes, configurations et options de déploiement qui sont prises en charge pour l’extension de machine virtuelle DSC pour Windows.

Notes

Essayez l’assistance de machine virtuelle pour accélérer les diagnostics. Nous vous recommandons d’exécuter l’assistance de machine virtuelle pour Windows ou l’assistance de machine virtuelle pour Linux. Ces outils de diagnostic basés sur des scripts vous aident à identifier les problèmes courants qui affectent l’agent invité de machine virtuelle Azure et l’intégrité globale des machines virtuelles.

Si vous rencontrez des problèmes de performances avec des machines virtuelles, avant de contacter le support technique, exécutez ces outils.

Prérequis

Système d’exploitation

L’extension DSC prend en charge les systèmes d’exploitation suivants

Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012, Windows Server 2012 R2, Windows Server 2008 R2 SP1, Windows Client 7/8.1/10

Connectivité Internet

L’extension DSC pour Windows nécessite que la machine virtuelle cible puisse communiquer avec Azure et l’emplacement du package de configuration (fichier.zip) s’il est stocké en dehors d’Azure.

Schéma d’extensions

L’extrait JSON suivant montre le schéma de la section des paramètres de l’extension DSC dans un modèle Azure Resource Manager.

{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "Microsoft.Powershell.DSC",
  "apiVersion": "2018-10-01",
  "location": "<location>",
  "properties": {
    "publisher": "Microsoft.Powershell",
    "type": "DSC",
    "typeHandlerVersion": "2.77",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "wmfVersion": "latest",
        "configuration": {
            "url": "http://validURLToConfigLocation",
            "script": "ConfigurationScript.ps1",
            "function": "ConfigurationFunction"
        },
        "configurationArguments": {
            "argument1": "Value1",
            "argument2": "Value2"
        },
        "configurationData": {
            "url": "https://foo.psd1"
        },
        "privacy": {
            "dataCollection": "enable"
        },
        "advancedOptions": {
            "forcePullAndApply": false,
            "downloadMappings": {
             "specificDependencyKey": "https://myCustomDependencyLocation"
            }
        }
    },
    "protectedSettings": {
        "configurationArguments": {
            "parameterOfTypePSCredential1": {
                "userName": "UsernameValue1",
                "password": "PasswordValue1"
            },
            "parameterOfTypePSCredential2": {
                "userName": "UsernameValue2",
                "password": "PasswordValue2"
            }
        },
        "configurationUrlSasToken": "?g!bber1sht0k3n",
        "configurationDataUrlSasToken": "?dataAcC355T0k3N"
    }
  }
}

Valeurs de propriétés

Nom Valeur/Exemple Type de données
apiVersion 2018-10-01 Date
publisher Microsoft.Powershell.DSC string
type DSC string
typeHandlerVersion 2.77 int

Valeurs de la propriété Settings

Nom Type de données Description
settings.wmfVersion string Spécifie la version de Windows Management Framework qui doit être installée sur votre machine virtuelle. La définition de cette propriété sur « latest » installe la version la plus mise à jour de WMF. Les seules valeurs possibles actuelles pour cette propriété sont « 4.0 », « 5.0 » et « latest ». Les valeurs possibles font l’objet de mises à jour. La valeur par défaut est « latest ».
settings.configuration.url string Spécifie l’adresse URL de téléchargement de votre fichier .zip de configuration DSC. Si l’URL fournie nécessite un jeton SAS pour l’accès, définissez la propriété protectedSettings.configurationUrlSasToken sur la valeur de votre jeton SAS. Cette propriété est requise si la propriété settings.configuration.script ou settings.configuration.function est définie.
settings.configuration.script string Spécifie le nom de fichier du script qui contient la définition de votre configuration DSC. Ce script doit se trouver dans le dossier racine du fichier .zip téléchargé depuis l’URL spécifiée par la propriété configuration.url. Cette propriété est requise si la propriété settings.configuration.url ou settings.configuration.script est définie.
settings.configuration.function string Spécifie le nom de votre configuration DSC. La configuration nommée doit se trouver dans le script défini par configuration.script. Cette propriété est requise si la propriété settings.configuration.url ou settings.configuration.function est définie.
settings.configurationArguments Collection Définit les paramètres à transmettre à votre configuration DSC. Cette propriété ne sera pas chiffrée.
settings.configurationData.url string Spécifie l’URL de téléchargement de votre fichier de données de configuration (.pds1) à utiliser comme entrée pour votre configuration DSC. Si l’URL fournie nécessite un jeton SAS pour l’accès, définissez la propriété protectedSettings.configurationDataUrlSasToken sur la valeur de votre jeton SAS.
settings.privacy.dataEnabled string Active ou désactive la collecte télémétrique. Les seules valeurs possibles pour cette propriété sont « Enable », « Disable », '' ou $null. Le fait de laisser cette propriété vide ou null active la télémétrie
settings.advancedOptions.forcePullAndApply Bool Ce paramètre est conçu pour améliorer l’expérience d’utilisation de l’extension pour inscrire des nœuds auprès d’Azure Automation DSC. Si la valeur est $true, l’extension attend la première exécution de la configuration extraite du service avant de retourner réussite/échec. Si la valeur est définie sur $false, l’état retourné par l’extension fait référence à l’inscription du nœud auprès d’Azure Automation State Configuration et la configuration du nœud ne s’exécute pas pendant l’inscription.
settings.advancedOptions.downloadMappings Collection Définit d’autres emplacements pour télécharger des dépendances, telles que WMF et .NET

Valeurs de la propriété Protected Settings

Nom Type de données Description
protectedSettings.configurationArguments string Définit les paramètres à transmettre à votre configuration DSC.
protectedSettings.configurationUrlSasToken string Spécifie le jeton SAP permettant d’accéder à l’URL définie par configuration.url.
protectedSettings.configurationDataUrlSasToken string Spécifie le jeton SAP permettant d’accéder à l’URL définie par configurationData.url.

Déploiement de modèle

Les extensions de machines virtuelles Azure peuvent être déployées avec des modèles Azure Resource Manager. Les modèles sont idéaux lorsque vous déployez une ou plusieurs machines virtuelles nécessitant une configuration post-déploiement. Un exemple de modèle Resource Manager incluant l’extension DSC pour Windows est disponible dans la galerie de modèles de démarrage rapide Azure.

Dépannage et support technique

Dépanner

Vous pouvez récupérer les données sur l’état des déploiements d’extension à partir du portail Azure et à l’aide de l’interface de ligne de commande Azure. Pour afficher l’état du déploiement des extensions pour une machine virtuelle donnée, exécutez la commande suivante à l’aide de l’interface de ligne de commande Azure.

az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

Le package d’extension est téléchargé et déployé à cet emplacement sur la machine virtuelle Azure

C:\Packages\Plugins\{Extension_Name}\{Extension_Version}

Le fichier d’état de l’extension contient le statut secondaire et les codes de réussite ou d’erreur de l’état, ainsi que l’erreur détaillée et la description de chaque exécution de l’extension.

C:\Packages\Plugins\{Extension_Name}\{Extension_Version}\Status\{0}.Status  -> {0} being the sequence number

Les journaux d’activité de sortie de l’extension sont enregistrés dans le répertoire suivant :

C:\WindowsAzure\Logs\Plugins\{Extension_Name}\{Extension_Version}

Codes d’erreur et signification

Code d'erreur Signification Action possible
1 000 Erreur générique Le message de cette erreur est fourni par l’exception spécifique dans les journaux d’activité de l’extension
52 Erreur d’installation de l’extension Le message de cette erreur est fourni par l’exception spécifique
1002 Erreur d’installation de WMF Erreur durant l'installation de WMF.
1004 Package Zip non valide Zip non valide ; Erreur lors de la décompression du fichier zip
1100 Erreur d'argument Indique un problème dans l’entrée fournie par l’utilisateur. Le message de l’erreur est fourni par l’exception spécifique

Support

Si vous avez besoin d’une aide supplémentaire à quelque étape que ce soit dans cet article, vous pouvez contacter les experts Azure sur les forums MSDN Azure et Stack Overflow. Vous pouvez également signaler un incident au support Azure. Accédez au site du support Azure , puis cliquez sur Obtenir un support. Pour plus d’informations sur l’utilisation du support Azure, lisez le FAQ du support Microsoft Azure.