Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: Windows PowerShell 4.0, Windows PowerShell 5.0
Den här övningen går igenom hur du skapar och tillämpar en DSC-konfiguration (Desired State Configuration) från början till slut. I följande exempel får du lära dig hur du skriver och tillämpar en mycket enkel konfiguration. Konfigurationen kommer att säkerställa att det finns en "HelloWorld.txt" -fil på din lokala dator. Om du tar bort filen återskapar DSC den nästa gång den uppdateras.
En översikt över vad DSC är och hur det fungerar finns i Översikt över önskad tillståndskonfiguration för utvecklare.
Kravspecifikation
Om du vill köra det här exemplet behöver du en dator som kör PowerShell 4.0 eller senare.
Skriva konfigurationen
En DSC-konfiguration är en särskild PowerShell-funktion som definierar hur du vill konfigurera en eller flera måldatorer (noder).
I PowerShell ISE eller någon annan PowerShell-redigerare skriver du följande:
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!"
}
}
}
Viktigt!
I mer avancerade scenarier där flera moduler måste importeras så att du kan arbeta med många DSC-resurser i samma konfiguration, se till att placera varje modul på en separat rad med hjälp av Import-DscResource. Detta är enklare att underhålla i källkontrollen och krävs när du arbetar med DSC i Azure State Configuration.
Configuration HelloWorld {
# Import the module that contains the File resource.
Import-DscResource -ModuleName PsDesiredStateConfiguration
Import-DscResource -ModuleName xWebAdministration
Spara filen som "HelloWorld.ps1".
Att definiera en konfiguration är som att definiera en funktion.
Node-blocket anger målnoden som ska konfigureras, i det här fallet .localhost
Konfigurationen anropar en resurs, resursen File . Resurser gör arbetet med att se till att målnoden är i det tillstånd som definieras av konfigurationen.
Kompilera konfigurationen
För att en DSC-konfiguration ska kunna tillämpas på en nod måste den först kompileras till en MOF-fil. Om du kör konfigurationen, som en funktion, kompileras en .mof fil för varje nod som definieras av blocket Node . För att kunna köra konfigurationen måste du punktkälla skriptet HelloWorld.ps1 i det aktuella omfånget. Mer information finns i about_Scripts.
Punktkälla ditt HelloWorld.ps1 skript genom att skriva in sökvägen där du lagrade det, efter ( . punkt, blanksteg). Du kan sedan köra konfigurationen genom att anropa den som en funktion. Du kan också anropa konfigurationsfunktionen längst ned i skriptet så att du inte behöver punktkälla.
. C:\Scripts\HelloWorld.ps1
HelloWorld
Detta genererar följande utdata:
Directory: C:\Scripts\HelloWorld
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 3/13/2017 5:20 PM 2746 localhost.mof
Tillämpa konfigurationen
Nu när du har den kompilerade MOF:en kan du tillämpa konfigurationen på målnoden (i det här fallet den lokala datorn) genom att anropa cmdleten Start-DscConfiguration .
Cmdleten Start-DscConfiguration instruerar den lokala Configuration Manager (LCM), motorn i DSC, att tillämpa konfigurationen. LCM gör arbetet med att anropa DSC-resurserna för att tillämpa konfigurationen.
Använd koden nedan för att köra cmdleten Start-DSCConfiguration . Ange katalogsökvägen där du localhost.mof lagras i parametern Sökväg . Cmdleten Start-DSCConfiguration söker igenom katalogen som angetts för alla <computername>.mof filer. Cmdleten Start-DSCConfiguration försöker tillämpa varje .mof fil som den hittar på det computername som anges av filnamnet ("localhost", "server01", "dc-02" osv.).
Anmärkning
-Wait Om parametern inte anges Start-DSCConfiguration skapas ett bakgrundsjobb för att utföra åtgärden. Om du anger -Verbose parametern kan du titta på utförliga utdata från åtgärden.
-Waitoch -Verbose är båda valfria parametrar.
Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait
Testa konfigurationen
När cmdleten Start-DSCConfiguration är klar bör du se en HelloWorld.txt fil på den plats som du har angett. Du kan verifiera innehållet med cmdleten Get-Content .
Du kan också testa den aktuella statusen med hjälp av Test-DSCConfiguration.
Utdata ska vara True om noden för närvarande är kompatibel med den tillämpade konfigurationen.
Test-DSCConfiguration
True
Get-Content -Path C:\Temp\HelloWorld.txt
Hello World from DSC!
Tillämpa konfigurationen igen
Om du vill se att konfigurationen tillämpas igen kan du ta bort textfilen som skapats av konfigurationen. Använd cmdleten Start-DSCConfiguration med parametern -UseExisting . Parametern -UseExisting instruerar Start-DSCConfiguration att tillämpa filen "current.mof" igen, som representerar den senast tillämpade konfigurationen.
Remove-Item -Path C:\Temp\HelloWorld.txt
Nästa steg
- Läs mer om DSC-konfigurationer på DSC-konfigurationer.
- Se vilka DSC-resurser som är tillgängliga och hur du skapar anpassade DSC-resurser på DSC-resurser.
- Hitta DSC-konfigurationer och resurser i PowerShell-galleriet.