Zapisywanie, kompilowanie i stosowanie konfiguracji

Dotyczy: Windows PowerShell 4.0, Windows PowerShell 5.0

W tym ćwiczeniu przedstawiono tworzenie i stosowanie konfiguracji Desired State Configuration (DSC) od początku do końca. W poniższym przykładzie dowiesz się, jak napisać i zastosować bardzo prostą konfigurację. Konfiguracja zapewni, że na komputerze lokalnym istnieje plik "HelloWorld.txt". Jeśli usuniesz plik, rozszerzenie DSC ponownie utworzy go przy następnym zaktualizowaniu.

Aby zapoznać się z omówieniem tego, co to jest rozszerzenie DSC i jak działa, zobacz Desired State Configuration Omówienie dla deweloperów.

Wymagania

Do uruchomienia tego przykładu potrzebny jest komputer z programem PowerShell 4.0 lub nowszym.

Zapisywanie konfiguracji

Konfiguracja DSC to specjalna funkcja programu PowerShell, która definiuje sposób konfigurowania co najmniej jednego komputera docelowego (węzłów).

W programie PowerShell ISE lub innym edytorze programu PowerShell wpisz następujące polecenie:

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!"
        }
    }
}

Ważne

W bardziej zaawansowanych scenariuszach, w których należy zaimportować wiele modułów, aby można było pracować z wieloma zasobami DSC w tej samej konfiguracji, upewnij się, że każdy moduł został umieszczony w osobnym wierszu przy użyciu polecenia Import-DscResource. Jest to łatwiejsze do utrzymania w kontroli źródła i wymagane podczas pracy z dsC w usłudze Azure State Configuration.

 Configuration HelloWorld {

  # Import the module that contains the File resource.
  Import-DscResource -ModuleName PsDesiredStateConfiguration
  Import-DscResource -ModuleName xWebAdministration

Zapisz plik jako "HelloWorld.ps1".

Definiowanie konfiguracji przypomina definiowanie funkcji. Blok Node określa węzeł docelowy do skonfigurowania, w tym przypadku localhost.

Konfiguracja wywołuje jeden zasób, File zasób. Zasoby wykonują pracę nad zapewnieniem, że węzeł docelowy znajduje się w stanie zdefiniowanym przez konfigurację.

Kompilowanie konfiguracji

Aby konfiguracja DSC została zastosowana do węzła, należy najpierw skompilować ją do pliku MOF. Uruchomienie konfiguracji, takiej jak funkcja, spowoduje skompilowanie jednego .mof pliku dla każdego węzła zdefiniowanego Node przez blok. Aby uruchomić konfigurację, musisz kropkować skrypt wHelloWorld.ps1 bieżącym zakresie. Aby uzyskać więcej informacji, zobacz about_Scripts.

Kropka źródła skryptu HelloWorld.ps1 , wpisując w ścieżce, w której jest przechowywany, po . (kropka, spacja). Następnie możesz uruchomić konfigurację, wywołując ją jak funkcję. Można również wywołać funkcję konfiguracji w dolnej części skryptu, aby nie trzeba było kropkować źródła.

. C:\Scripts\HelloWorld.ps1
HelloWorld

Spowoduje to wygenerowanie następujących danych wyjściowych:

Directory: C:\Scripts\HelloWorld


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        3/13/2017   5:20 PM           2746 localhost.mof

Stosowanie konfiguracji

Teraz, gdy masz skompilowany plik MOF, możesz zastosować konfigurację do węzła docelowego (w tym przypadku komputera lokalnego), wywołując polecenie cmdlet Start-DscConfiguration .

Polecenie Start-DscConfiguration cmdlet informuje Configuration Manager lokalną (LCM), aparat DSC, aby zastosować konfigurację. Narzędzie LCM wykonuje pracę wywoływania zasobów DSC w celu zastosowania konfiguracji.

Użyj poniższego kodu, aby wykonać Start-DSCConfiguration polecenie cmdlet. Określ ścieżkę katalogu, w której localhost.mof jest przechowywany parametr Ścieżka . Polecenie Start-DSCConfiguration cmdlet analizuje katalog określony dla wszystkich <computername>.mof plików. Polecenie Start-DSCConfiguration cmdlet próbuje zastosować każdy .mof plik, który znajduje, do określonego computername przez nazwę pliku ("localhost", "server01", "dc-02" itp.).

Uwaga

-Wait Jeśli parametr nie zostanie określony, Start-DSCConfiguration tworzy zadanie w tle, aby wykonać operację. Określenie parametru -Verbose umożliwia watch pełne dane wyjściowe operacji. -Wait, i -Verbose są parametrami opcjonalnymi.

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

Testowanie konfiguracji

Po zakończeniu Start-DSCConfiguration wykonywania polecenia cmdlet powinien zostać wyświetlony HelloWorld.txt plik w określonej lokalizacji. Zawartość można sprawdzić za pomocą polecenia cmdlet Get-Content .

Możesz również przetestować bieżący stan przy użyciu polecenia Test-DSCConfiguration.

Dane wyjściowe powinny być True , jeśli węzeł jest obecnie zgodny z zastosowaną konfiguracją.

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

Ponowne stosowanie konfiguracji

Aby zobaczyć, że konfiguracja zostanie ponownie zastosowana, możesz usunąć plik tekstowy utworzony przez konfigurację. Start-DSCConfiguration Użyj polecenia cmdlet z parametrem -UseExisting . Parametr -UseExisting instruuje Start-DSCConfiguration ponowne zastosowanie pliku "current.mof", który reprezentuje ostatnio pomyślnie zastosowaną konfigurację.

Remove-Item -Path C:\Temp\HelloWorld.txt

Następne kroki