PowerShell
Configuration d'état souhaitée
Recherche…
Exemple simple - Activation de WindowsFeature
configuration EnableIISFeature
{
node localhost
{
WindowsFeature IIS
{
Ensure = “Present”
Name = “Web-Server”
}
}
}
Si vous exécutez cette configuration dans Powershell (EnableIISFeature), il produira un fichier localhost.mof. C'est la configuration "compilée" que vous pouvez exécuter sur une machine.
Pour tester la configuration DSC sur votre hôte local, vous pouvez simplement appeler les éléments suivants:
Start-DscConfiguration -ComputerName localhost -Wait
Démarrage de DSC (mof) sur une machine distante
Démarrer un DSC sur une machine distante est presque aussi simple. En supposant que vous ayez déjà configuré la communication à distance Powershell (ou WSMAN activé).
$remoteComputer = "myserver.somedomain.com"
$cred = (Get-Credential)
Start-DSCConfiguration -ServerName $remoteComputer -Credential $cred -Verbose
Nb: En supposant que vous avez compilé une configuration pour votre noeud sur votre machine locale (et que le fichier myserver.somedomain.com.mof est présent avant de démarrer la configuration)
Importation de psd1 (fichier de données) dans une variable locale
Parfois, il peut être utile de tester vos fichiers de données Powershell et de parcourir les nœuds et les serveurs.
Powershell 5 (WMF5) a ajouté cette petite fonctionnalité intéressante appelée Import-PowerShellDataFile.
Exemple:
$data = Import-PowerShellDataFile -path .\MydataFile.psd1
$data.AllNodes
Liste des ressources disponibles de DSC
Pour répertorier les ressources DSC disponibles sur votre noeud de création:
Get-DscResource
Cela répertoriera toutes les ressources pour tous les modules installés (qui se trouvent dans votre PSModulePath) sur votre noeud de création.
Pour répertorier toutes les ressources DSC disponibles dans les sources en ligne (PSGallery ++) sur WMF 5:
Find-DSCResource
Importation de ressources à utiliser dans DSC
Avant de pouvoir utiliser une ressource dans une configuration, vous devez l'importer explicitement. Le fait de l'avoir installé sur votre ordinateur ne vous permettra pas d'utiliser la ressource implicitement.
Importez une ressource en utilisant Import-DscResource.
Exemple montrant comment importer la ressource PSDesiredStateConfiguration et la ressource File.
Configuration InstallPreReqs
{
param(); # params to DSC goes here.
Import-DscResource PSDesiredStateConfiguration
File CheckForTmpFolder {
Type = 'Directory'
DestinationPath = 'C:\Tmp'
Ensure = "Present"
}
}
Remarque : Pour que les ressources DSC fonctionnent, les modules doivent être installés sur les ordinateurs cibles lors de l'exécution de la configuration. Si vous ne les avez pas installés, la configuration échouera.