Extension de configuration d’état souhaité PowerShell

Notes

Avant d’activer l’extension DSC, sachez qu’une version plus récente de DSC est désormais en disponibilité générale. Elle est gérée par la fonctionnalité de configuration d’ordinateur d’Azure Automanage. La fonctionnalité de configuration d’ordinateur combine les fonctionnalités du gestionnaire d’extension DSC (Desired State Configuration) et d’Azure Automation State Configuration ainsi que les fonctionnalités les plus couramment demandées par les commentaires des clients. La configuration d’ordinateur inclut également la prise en charge des ordinateurs hybrides par le biais des serveurs avec Arc.

Vue d’ensemble

L’extension DSC PowerShell pour Windows est publiée et prise en charge par Microsoft. L’extension charge et applique une Configuration DSC PowerShell sur une machine virtuelle Azure. L’extension DSC fait appel à DSC PowerShell pour mettre en œuvre 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.

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 soit en mesure de communiquer avec Azure et l’emplacement du package de configuration (fichier .zip) si celui-ci se trouve 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. Lorsque cette propriété est définie sur « latest », la dernière version de WMF est installée. Actuellement, les seules valeurs possibles 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’accès à l’URL fournie nécessite un jeton SAP, vous devez définir la propriété protectedSettings.configurationUrlSasToken sur la valeur du jeton SAP. 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é n’est 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’accès à l’URL fournie nécessite un jeton SAP, vous devez définir la propriété protectedSettings.configurationDataUrlSasToken sur la valeur du jeton SAP.
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 de la définir comme nulle 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 fin de la première exécution de la configuration extraite à partir du service avant de retourner un message de réussite/échec. Si la valeur est définie sur $false, l’état retourné par l’extension indique uniquement que le nœud a été inscrit auprès d’Azure Automation DSC et que la configuration du nœud ne sera pas exécutée lors de 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. Cette propriété est chiffrée.
protectedSettings.configurationUrlSasToken string Spécifie le jeton SAP permettant d’accéder à l’URL définie par configuration.url. Cette propriété est chiffrée.
protectedSettings.configurationDataUrlSasToken string Spécifie le jeton SAP permettant d’accéder à l’URL définie par configurationData.url. Cette propriété est chiffrée.

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.