about_DesiredStateConfiguration

Mis à jour: mai 2014

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

RUBRIQUE

about_Desired_State_Configuration

DESCRIPTION COURTE

Fournit une brève introduction à la fonctionnalité de configuration de l'état souhaité de Windows PowerShell®.

DESCRIPTION DÉTAILLÉE

La configuration de l'état souhaité est une plateforme de gestion de Windows PowerShell. Elle permet le déploiement et la gestion des données de configuration pour les services logiciels et l'environnement sur lequel ces services s'exécutent. La configuration de l'état souhaité offre un ensemble d'extensions du langage de Windows PowerShell, de nouvelles applets de commande et des ressources que vous pouvez utiliser pour spécifier de façon déclarative comment configurer l'état de votre environnement logiciel.

La configuration de l'état souhaité est introduite dans Windows PowerShell 4.0.

Pour plus d'informations détaillées sur la configuration de l'état souhaité, consultez « Configuration de l'état souhaité de Windows PowerShell » dans la bibliothèque TechNet, à l'adresse https://go.microsoft.com/fwlink/?LinkId=311940.

UTILISATION DE LA CONFIGURATION DE L'ÉTAT SOUHAITÉ

Pour utiliser la configuration de l'état souhaité afin de configurer votre environnement, définissez d'abord un bloc de script Windows PowerShell avec le mot clé Configuration, suivi d'un identificateur, lequel est suivi à son tour d'une paire d'accolades délimitant le bloc. Dans le bloc de configuration, vous pouvez définir des blocs de nœud qui spécifient l'état de la configuration souhaité pour chaque nœud (ordinateur) dans l'environnement. Un bloc de nœud démarre avec le mot clé Node, suivi du nom de l'ordinateur cible, qui peut être une variable. Après le nom d'ordinateur, viennent les accolades qui délimitent le bloc de nœud. Dans le bloc de nœud, vous pouvez définir des blocs de ressources pour configurer des ressources spécifiques. Un bloc de ressources commence par le nom de type de la ressource, suivi de l'identificateur que vous souhaitez spécifier pour ce bloc et des accolades qui délimitent le bloc, comme illustré dans l'exemple suivant.

Configuration MyWebConfig
    {
       # Parameters are optional
       param ($MachineName, $WebsiteFilePath)

       # A Configuration block can have one or more Node blocks
       Node $MachineName
       {
          # Next, specify one or more resource blocks
          # WindowsFeature is one of the resources you can use in a Node block
          # This example ensures the Web Server (IIS) role is installed
          WindowsFeature IIS
          {
             # To ensure that the role is not installed, set Ensure to \"Absent\"
              Ensure = "Present" 
              Name = "Web-Server" # Use the Name property from Get-WindowsFeature  
          }

          # You can use the File resource to create files and folders
          # \"WebDirectory\" is the name you want to use to refer to this instance
          File WebDirectory
          {
             Ensure = "Present"  # You can also set Ensure to "Absent“
             Type = "Directory“ # Default is “File”
             Recurse = $true
             SourcePath = $WebsiteFilePath
             DestinationPath = "C:\inetpub\wwwroot"
            
             # Ensure that the IIS block is successfully run first before
             # configuring this resource
             Requires = "[WindowsFeature]IIS"  # Use Requires for dependencies     
          }
       }
    }

Pour créer une configuration, appelez le bloc Configuration de la même façon que vous appelleriez une fonction Windows PowerShell, en passant les paramètres attendus que vous pouvez avoir définis (deux dans l'exemple ci-dessus). Par exemple, dans ce cas :

    MyWebConfig -MachineName "TestMachine" –WebsiteFilePath "\\filesrv\WebFiles" `
         -OutputPath "C:\Windows\system32\temp" # OutputPath is optional

Cela génère un fichier MOF par nœud sur le chemin d'accès que vous spécifiez. Ces fichiers MOF spécifient la configuration souhaitée pour chaque nœud. Ensuite, utilisez l'applet de commande suivante pour analyser les fichiers MOF de configuration, envoyez à chaque nœud sa configuration correspondante et mettez en œuvre les configurations.

    Start-DscConfiguration –Verbose -Wait -Path "C:\Windows\system32\temp"

UTILISATION DE LA CONFIGURATION DE L'ÉTAT SOUHAITÉ POUR MAINTENIR L'ÉTAT DE CONFIGURATION

Avec la configuration de l'état souhaité, la configuration est idempotente. Cela signifie que si vous utilisez la configuration de l'état souhaité pour mettre en œuvre la même configuration plusieurs fois, l'état de la configuration résultante sera toujours le même. Pour cette raison, si vous pensez que tous les nœuds de votre environnement dérivent de l'état de configuration souhaité, vous pouvez mettre en œuvre la même configuration pour les rétablir à l'état souhaité. Il est inutile de modifier le script de configuration pour traiter uniquement les ressources dont l'état dérive de l'état souhaité.

L'exemple suivant montre comment vous pouvez vérifier si l'état réel de la configuration sur un nœud donné a évolué à partir de la dernière configuration de l'état souhaité mise en œuvre sur le nœud. Dans cet exemple, nous vérifions la configuration de l'ordinateur local.

    $session = New-CimSession -ComputerName "localhost"
    Test-DscConfiguration -CimSession $session 

RESSOURCES INTÉGRÉES DE LA CONFIGURATION DE L'ÉTAT SOUHAITÉ

La configuration de l'état souhaité fournit l'ensemble de ressources intégrées suivant que vous pouvez utiliser dans un script de configuration : Registry, Script, Archive, File, WindowsFeature, Package, Environment, Group, User, Log, Service et WindowsProcess. L'exemple ci-dessus montre comment utiliser les ressources File et WindowsFeature. Pour afficher toutes les propriétés que vous pouvez utiliser avec une ressource donnée, placez le curseur sur le mot clé de la ressource (par exemple, File) au sein de votre script de configuration dans l'environnement d'écriture de scripts intégré de Windows PowerShell, maintenez la touche CTRL enfoncée et appuyez sur Espace.

VOIR AUSSI

"Configuration de l'état souhaité de Windows PowerShell"

(https://go.microsoft.com/fwlink/?LinkId=311940)