Partager via


Écriture, compilation et application d’une configuration

S’applique à : Windows PowerShell 4.0, Windows PowerShell 5.0

Cet exercice décrit la création et l’application d’une configuration DSC (Desired State Configuration) du début à la fin. Dans l’exemple suivant, vous allez apprendre à écrire et à appliquer une configuration très simple. La configuration garantira qu’un fichier «HelloWorld.txt» existe sur votre machine locale. Si vous supprimez le fichier, DSC le recréera lors de la prochaine mise à jour.

Pour une vue d’ensemble de ce qu’est DSC et de son fonctionnement, consultez Vue d’ensemble de la configuration de l’état souhaité pour les développeurs.

Spécifications

Pour exécuter cet exemple, vous aurez besoin d’un ordinateur exécutant PowerShell 4.0 ou une version ultérieure.

Écrire la configuration

Une configuration DSC est une fonction PowerShell spéciale qui définit la façon dont vous souhaitez configurer un ou plusieurs ordinateurs cibles (nœuds).

Dans PowerShell ISE ou un autre éditeur PowerShell, tapez ce qui suit :

Configuration HelloWorld {

    # Import the module that contains the File resource.
    Import-DscResource -ModuleName PsDesiredStateConfiguration

    # The Node statement specifies which targets to compile MOF files for, when
    # this configuration is executed.
    Node 'localhost' {

        # The File resource can ensure the state of files, or copy them from a
        # source to a destination with persistent updates.
        File HelloWorld {
            DestinationPath = "C:\Temp\HelloWorld.txt"
            Ensure = "Present"
            Contents   = "Hello World from DSC!"
        }
    }
}

Important

Dans les scénarios plus avancés où plusieurs modules doivent être importés afin de pouvoir utiliser plusieurs ressources DSC dans la même configuration, veillez à placer chaque module sur une ligne distincte à l’aide de Import-DscResource. Ceci est plus facile à gérer dans le contrôle de code source et requis lors de l’utilisation de DSC dans Azure State Configuration.

 Configuration HelloWorld {

  # Import the module that contains the File resource.
  Import-DscResource -ModuleName PsDesiredStateConfiguration
  Import-DscResource -ModuleName xWebAdministration

Enregistrez le fichier sous le nom «HelloWorld.ps1».

Définir une configuration revient à définir une fonction. Le bloc Node spécifie le noeud cible à configurer, dans ce cas localhost.

La configuration appelle une ressource, la File ressource. Les ressources veillent à ce que le nœud cible soit dans l’état défini par la configuration.

Compiler la configuration

Pour qu’une configuration DSC puisse être appliquée à un nœud, elle doit d’abord être compilée dans un fichier MOF. L’exécution de la configuration, comme une fonction, compilera un .mof fichier pour chaque nœud défini par le Node bloc. Pour exécuter la configuration, vous devez doter votre script de la source de points HelloWorld.ps1 dans la portée actuelle. Pour plus d’informations, reportez-vous à la section about_Scripts.

Dot sourcez votre HelloWorld.ps1 script en tapant dans le chemin où vous l’avez stocké, après le . (point, espace). Vous pouvez ensuite exécuter votre configuration en l’appelant comme une fonction. Vous pouvez également appeler la fonction de configuration au bas du script afin de ne pas avoir besoin de dot-source.

. C:\Scripts\HelloWorld.ps1
HelloWorld

Cela génère la sortie suivante :

Directory: C:\Scripts\HelloWorld


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        3/13/2017   5:20 PM           2746 localhost.mof

Appliquer la configuration

Maintenant que vous disposez du MOF compilé, vous pouvez appliquer la configuration au nœud cible (dans ce cas, l’ordinateur local) en appelant l’applet de commande Start-DscConfiguration .

L’applet Start-DscConfiguration de commande indique au gestionnaire de configuration locale (LCM), le moteur de DSC, d’appliquer la configuration. Le LCM se charge d’appeler les ressources DSC pour appliquer la configuration.

Utilisez le code ci-dessous pour exécuter l’applet Start-DSCConfiguration de commande. Spécifiez le chemin d’accès au répertoire dans lequel votre localhost.mof est stocké dans le paramètre Path . L’applet Start-DSCConfiguration de commande parcourt le répertoire spécifié pour tous les <computername>.mof fichiers. L’applet Start-DSCConfiguration de commande tente d’appliquer chaque .mof fichier qu’elle trouve à celui computername spécifié par le nom de fichier (« localhost », « server01 », « dc-02 », etc.).

Note

Si le paramètre n’est -Wait pas spécifié, Start-DSCConfiguration crée une tâche d’arrière-plan pour effectuer l’opération. La spécification du -Verbose paramètre vous permet de surveiller la sortie détaillée de l’opération. -Wait -Verbose et sont tous deux des paramètres facultatifs.

Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait

Tester la configuration

Une fois l’applet Start-DSCConfiguration de commande terminée, vous devez voir un HelloWorld.txt fichier à l’emplacement que vous avez spécifié. Vous pouvez vérifier le contenu à l’aide de l’applet de commande Get-Content .

Vous pouvez également tester l’état actuel à l’aide de Test-DSCConfiguration.

La sortie doit indiquer True si le nœud est actuellement conforme à la configuration appliquée.

Test-DSCConfiguration
True
Get-Content -Path C:\Temp\HelloWorld.txt
Hello World from DSC!

Réapplication de la configuration

Pour que votre configuration soit à nouveau appliquée, vous pouvez supprimer le fichier texte créé par votre configuration. Utilisez l’applet Start-DSCConfiguration de commande avec le -UseExisting paramètre. Le -UseExisting paramètre indique Start-DSCConfiguration de réappliquer le fichier « current.mof », qui représente la configuration la plus récemment appliquée avec succès.

Remove-Item -Path C:\Temp\HelloWorld.txt

Étapes suivantes