Psaní, kompilace a použití konfigurace
Platí pro: Windows PowerShell 4.0, Windows PowerShell 5.0
Toto cvičení vás provede vytvořením a použitím konfigurace Desired State Configuration (DSC) od začátku do konce. V následujícím příkladu se dozvíte, jak napsat a použít velmi jednoduchou konfiguraci. Konfigurace zajistí, že na místním počítači existuje soubor "HelloWorld.txt". Pokud soubor odstraníte, DSC ho při příští aktualizaci znovu vytvoří.
Přehled toho, co je DSC a jak funguje, najdete v tématu přehled Desired State Configuration pro vývojáře.
Požadavky
Abyste mohli spustit tento příklad, budete potřebovat počítač s PowerShellem 4.0 nebo novějším.
Zápis konfigurace
Konfigurace DSC je speciální funkce PowerShellu, která definuje způsob konfigurace jednoho nebo více cílových počítačů (uzlů).
V prostředí PowerShell ISE nebo jiném editoru PowerShellu zadejte následující příkaz:
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!"
}
}
}
Důležité
V pokročilejších scénářích, kdy je potřeba importovat více modulů, abyste mohli pracovat s mnoha prostředky DSC ve stejné konfiguraci, nezapomeňte každý modul umístit na samostatný řádek pomocí příkazu Import-DscResource
. Tato správa se snadněji udržuje ve správě zdrojového kódu a vyžaduje se při práci s DSC v Azure State Configuration.
Configuration HelloWorld {
# Import the module that contains the File resource.
Import-DscResource -ModuleName PsDesiredStateConfiguration
Import-DscResource -ModuleName xWebAdministration
Uložte soubor jako "HelloWorld.ps1".
Definování konfigurace se podobá definování funkce. Blok Node určuje cílový uzel, který se má nakonfigurovat, v tomto případě localhost
.
Konfigurace volá jeden prostředek, File
prostředek. Prostředky zajišťují, že cílový uzel je ve stavu definovaném konfigurací.
Kompilace konfigurace
Aby se konfigurace DSC použila na uzel, musí se nejprve zkompilovat do souboru MOF. Spuštění konfigurace, podobně jako funkce, zkompiluje jeden .mof
soubor pro každý uzel definovaný blokem Node
. Pokud chcete spustit konfiguraci, musíte dotovat zdroj skriptu HelloWorld.ps1
do aktuálního oboru. Další informace najdete v tématu about_Scripts.
Dot vytvořte zdroj skriptu HelloWorld.ps1
zadáním cesty, do které jste ho uložili, za znakem .
(tečka, mezera). Konfiguraci pak můžete spustit tak, že ji budete volat jako funkci. Můžete také vyvolat konfigurační funkci v dolní části skriptu, abyste nemuseli používat dot-source.
. C:\Scripts\HelloWorld.ps1
HelloWorld
Tím se vygeneruje následující výstup:
Directory: C:\Scripts\HelloWorld
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 3/13/2017 5:20 PM 2746 localhost.mof
Použití konfigurace
Teď, když máte zkompilovaný MOF, můžete konfiguraci použít na cílový uzel (v tomto případě místní počítač) voláním rutiny Start-DscConfiguration .
Rutina Start-DscConfiguration
informuje místní Configuration Manager (LCM), modul DSC, aby použil konfiguraci. LCM provede volání prostředků DSC za účelem použití konfigurace.
Ke spuštění rutiny Start-DSCConfiguration
použijte následující kód. Do parametru Path zadejte cestu k adresáři, ve kterém localhost.mof
je uložený. Rutina Start-DSCConfiguration
hledá v zadaném adresáři všechny <computername>.mof
soubory. Rutina Start-DSCConfiguration
se pokusí použít každý .mof
soubor, který najde, na computername
soubor určený názvem souboru ("localhost", "server01", "dc-02" atd.).
Poznámka
-Wait
Pokud parametr není zadaný, Start-DSCConfiguration
vytvoří úlohu na pozadí, která operaci provede. Zadáním parametru -Verbose
můžete watch podrobný výstup operace. -Wait
, a -Verbose
jsou volitelné parametry.
Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait
Otestujte konfiguraci.
Po dokončení rutiny Start-DSCConfiguration
by se měl v zadaném HelloWorld.txt
umístění zobrazit soubor. Obsah můžete ověřit pomocí rutiny Get-Content .
Aktuální stav můžete také otestovat pomocí rutiny Test-DSCConfiguration.
Výstup by měl být True
, pokud uzel aktuálně vyhovuje použité konfiguraci.
Test-DSCConfiguration
True
Get-Content -Path C:\Temp\HelloWorld.txt
Hello World from DSC!
Opětovné použití konfigurace
Pokud chcete vidět, jak se konfigurace znovu použije, můžete odebrat textový soubor vytvořený konfigurací. Použijte rutinu Start-DSCConfiguration
s parametrem -UseExisting
. Parametr -UseExisting
dává pokyn Start-DSCConfiguration
k opětovnému použití souboru current.mof, který představuje naposledy úspěšně použitou konfiguraci.
Remove-Item -Path C:\Temp\HelloWorld.txt
Další kroky
- Další informace o konfiguracích DSC najdete v tématu Konfigurace DSC.
- Podívejte se, jaké prostředky DSC jsou k dispozici a jak vytvářet vlastní prostředky DSC v prostředcích DSC.
- V Galerie prostředí PowerShell vyhledejte prostředky a konfigurace DSC.