Sdílet prostřednictvím


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.