Udostępnij przez


Pisanie, kompilowanie i stosowanie konfiguracji

Dotyczy: Windows PowerShell 4.0, Windows PowerShell 5.0

W tym ćwiczeniu omówiono proces tworzenia i stosowania konfiguracji żądanego stanu (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, DSC utworzy go ponownie przy następnej aktualizacji.

Aby zapoznać się z omówieniem tego, czym jest DSC i jak działa, zobacz Omówienie konfiguracji żądanego stanu dla deweloperów.

Requirements

Aby uruchomić ten przykład, potrzebny jest komputer z programem PowerShell 4.0 lub nowszym.

Napisz konfigurację

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 Import-DscResourceprogramu . Jest to łatwiejsze do utrzymania w kontroli źródła i wymagane podczas pracy z DSC w 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 jest jak definiowanie funkcji. Blok Node określa węzeł docelowy, który ma zostać skonfigurowany, w tym przypadku localhost.

Konfiguracja wywołuje jeden zasób, zasób File . Zasoby wykonują pracę polegającą na zapewnieniu, że węzeł docelowy jest w stanie zdefiniowanym przez konfigurację.

Skompiluj konfigurację

Aby konfiguracja DSC została zastosowana do węzła, należy ją najpierw skompilować do pliku MOF. Uruchomienie konfiguracji, podobnie jak funkcji, spowoduje skompilowanie jednego .mof pliku dla każdego węzła zdefiniowanego przez blok.Node Aby uruchomić konfigurację, należy umieścić kropkę źródłową skryptu HelloWorld.ps1 w bieżącym zakresie. Aby uzyskać więcej informacji, zobacz about_Scripts.

Kropka źródłowaHelloWorld.ps1 skryptu, wpisując ścieżkę, w której go zapisałeś, po (kropka . , spacja). Następnie możesz uruchomić konfigurację, wywołując ją jak funkcję. Możesz również wywołać funkcję konfiguracji w dolnej części skryptu, aby nie trzeba było używać kropki źródłowej.

. 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 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 Local Configuration Manager (LCM), aparat DSC, o zastosowaniu konfiguracji. LCM wykonuje pracę polegającą na wywoływaniu 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órym localhost.mof jest przechowywany, do parametru Path . Polecenie Start-DSCConfiguration cmdlet przeszukuje katalog określony dla wszystkich <computername>.mof plików. Polecenie Start-DSCConfiguration cmdlet próbuje zastosować każdy .mof znaleziony plik do computername określonego przez nazwę pliku ("localhost", "server01", "dc-02" itp.).

Uwaga / Notatka

-Wait Jeśli parametr nie zostanie określony, Start-DSCConfiguration tworzy zadanie w tle w celu wykonania operacji. Określenie parametru -Verbose umożliwia oglądanie pełnych danych wyjściowych operacji. -Waiti -Verbose są parametrami opcjonalnymi.

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

Przetestuj konfigurację

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

Bieżący stan można również przetestować przy użyciu polecenia Test-DSCConfiguration.

Dane wyjściowe powinny być takie True , czy 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ć, jak konfiguracja zostanie ponownie zastosowana, możesz usunąć plik tekstowy utworzony przez konfigurację. Użyj Start-DSCConfiguration polecenia cmdlet z parametrem -UseExisting . Parametr -UseExisting instruuje Start-DSCConfiguration , aby ponownie zastosować plik "current.mof", który reprezentuje ostatnio pomyślnie zastosowaną konfigurację.

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

Dalsze kroki