Sdílet prostřednictvím


Zápis, 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 DSC (Desired State Configuration) od začátku do konce. V následujícím příkladu se naučíte, jak napsat a použít velmi jednoduchou konfiguraci. Konfigurace zajistí, že na vašem lokálním počítači bude existovat soubor "HelloWorld.txt". Pokud soubor odstraníte, DSC jej při příští aktualizaci znovu vytvoří.

Přehled toho, co je DSC a jak funguje, najdete v tématu Přehled konfigurace požadovaného stavu pro vývojáře.

Požadavky

Ke spuštění tohoto příkladu budete potřebovat počítač se systémem PowerShell 4.0 nebo novějším.

Napište konfiguraci

Konfigurace DSC je speciální funkce PowerShellu, která definuje, jak chcete nakonfigurovat jeden 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 třeba importovat více modulů, abyste mohli pracovat s mnoha prostředky DSC ve stejné konfiguraci, nezapomeňte umístit každý modul na samostatný řádek pomocí Import-DscResource. To se snadněji udržuje ve správě zdrojového kódu a vyžaduje se při práci s DSC ve službě 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 je jako definování funkce. Blok Uzel určuje cílový uzel, který má být nakonfigurován, v tomto případě localhost.

Konfigurace volá jeden zdroj, prostředek.File Prostředky zajišťují funkčnost cílového uzlu ve stavu definovaném konfigurací.

Zkompilujte konfiguraci

Aby bylo možné konfiguraci DSC použít na uzel, musí být nejprve zkompilována do souboru MOF. Spuštění konfigurace, podobně jako funkce, zkompiluje jeden .mof soubor pro každý uzel definovaný blokem Node . Abyste mohli spustit konfiguraci, musíte skript vložit doHelloWorld.ps1 aktuálního oboru. Další informace naleznete v části about_Scripts.

Skript můžete ozdrojovatHelloWorld.ps1 tečkou tak, že za znak (tečka, mezera . ) zadáte cestu, do které jste jej uložili. Poté můžete spustit konfiguraci tak, že ji zavoláte jako funkci. Můžete také vyvolat konfigurační funkci ve spodní čá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 řekne místnímu Configuration Manageru (LCM), modulu DSC, aby použil konfiguraci. LCM provádí práci volání prostředků DSC pro použití konfigurace.

Ke spuštění rutiny použijte následující kód.Start-DSCConfiguration Do parametru Path zadejte cestu k adresáři, ve kterém je uložen váš localhost.mof adresář. Rutina Start-DSCConfiguration prohledá adresář určený pro všechny <computername>.mof soubory. Rutina Start-DSCConfiguration se pokusí použít každý .mof soubor, který najde, na soubor computername určený názvem souboru ("localhost", "server01", "dc-02" atd.).

Poznámka:

Pokud parametr -Wait není zadaný, Start-DSCConfiguration vytvoří úlohu na pozadí pro provedení operace. Zadání parametru -Verbose vám umožní sledovat podrobný výstup operace. -Wait -Verbose a jsou oba volitelné parametry.

Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait

Testování konfigurace

Po dokončení rutiny Start-DSCConfiguration by se měl v zadaném umístění zobrazit HelloWorld.txt soubor. Obsah můžete ověřit pomocí rutiny Get-Content .

Aktuální stav můžete také otestovat pomocí Test-DSCConfiguration.

Výstupem by mělo být True , zda je uzel aktuálně kompatibilní s použitou konfigurací.

Test-DSCConfiguration
True
Get-Content -Path C:\Temp\HelloWorld.txt
Hello World from DSC!

Opětovné použití konfigurace

Chcete-li, aby se vaše konfigurace znovu použila, můžete odebrat textový soubor vytvořený konfigurací. Použijte rutinu Start-DSCConfiguration s parametrem -UseExisting . Parametr -UseExisting dává Start-DSCConfiguration pokyn 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