Udostępnij przez


about_KonfiguracjaStanówDocelowych

KRÓTKI OPIS

Zawiera krótkie wprowadzenie do funkcji konfiguracji żądanego stanu programu PowerShell (DSC).

DŁUGI OPIS

DSC to platforma zarządzania w programie PowerShell, która umożliwia wdrażanie danych konfiguracji dla usług oprogramowania i zarządzanie nimi oraz zarządzanie środowiskiem, w którym działają te usługi.

Rozszerzenie DSC udostępnia zestaw rozszerzeń języka programu PowerShell, nowych poleceń cmdlet i zasobów, których można użyć do deklaratywnego określania stanu środowiska oprogramowania. Zapewnia również środki do obsługi istniejących konfiguracji i zarządzania nimi.

Rozszerzenie DSC jest wprowadzane w programie PowerShell 4.0.

Aby uzyskać szczegółowe informacje na temat DSC, zobacz Omówienie konfiguracji żądanego stanu programu PowerShell w bibliotece TechNet.

OPRACOWYWANIE ZASOBÓW DSC PRZY UŻYCIU KLAS

Począwszy od programu PowerShell 5.0, można opracowywać zasoby DSC przy użyciu klas. Aby uzyskać więcej informacji, zobacz about_Classes i Pisanie niestandardowego zasobu DSC za pomocą klas programu PowerShell w witrynie Microsoft TechNet.

KORZYSTANIE Z ROZSZERZENIA DSC

Aby skonfigurować środowisko przy użyciu rozszerzenia DSC, najpierw zdefiniuj blok skryptu programu PowerShell przy użyciu słowa kluczowego Konfiguracja, a następnie identyfikator, po którym następuje para nawiasów klamrowych rozdzielając blok. Wewnątrz bloku konfiguracji można zdefiniować bloki węzłów, które określają żądany stan konfiguracji dla każdego węzła (komputera) w środowisku. Blok węzła rozpoczyna się od słowa kluczowego Node, a następnie nazwy komputera docelowego, który może być zmienną. Po nazwie komputera wprowadź nawiasy klamrowe, które rozdzielają blok węzła. Wewnątrz bloku węzła można zdefiniować bloki zasobów w celu skonfigurowania określonych zasobów. Blok zasobów rozpoczyna się od nazwy typu zasobu, a następnie identyfikatora, który chcesz określić dla tego bloku, a następnie nawiasów klamrowych rozdzielających blok, jak pokazano w poniższym przykładzie.

Configuration MyWebConfig {
    # Parameters are optional
    param ($MachineName, $WebsiteFilePath)
    # A Configuration block can have one or more Node blocks
    Node $MachineName
    {
        # Next, specify one or more resource blocks
        # WindowsFeature is one of the resources you can use in a Node block
        # This example ensures the Web Server (IIS) role is installed
        WindowsFeature IIS
        {
            # To ensure that the role is not installed, set Ensure to "Absent"
            Ensure = "Present"
            Name = "Web-Server" # Use the Name property from Get-WindowsFeature
        }

        # You can use the File resource to create files and folders
        # "WebDirectory" is the name you want to use to refer to this instance
        File WebDirectory
        {
            Ensure = "Present"  # You can also set Ensure to "Absent"
            Type = "Directory" # Default is "File"
            Recurse = $true
            SourcePath = $WebsiteFilePath
            DestinationPath = "C:\inetpub\wwwroot"

            # Ensure that the IIS block is successfully run first before
            # configuring this resource
            DependsOn = "[WindowsFeature]IIS"  # Use for dependencies
        }
    }
}

Aby utworzyć konfigurację, wywołaj blok Konfiguracja w taki sam sposób, jak wywołasz funkcję programu PowerShell, przekazując wszelkie oczekiwane parametry, które mogły zostać zdefiniowane (dwa w powyższym przykładzie). Na przykład w tym przypadku:

MyWebConfig -MachineName "TestMachine" -WebsiteFilePath `
  "\\filesrv\WebFiles" -OutputPath "C:\Windows\system32\temp"
# OutputPath is optional

Spowoduje to wygenerowanie pliku MOF na węzeł w określonej ścieżce. Te pliki MOF określają żądaną konfigurację dla każdego węzła. Następnie użyj następującego polecenia cmdlet, aby przeanalizować pliki MOF konfiguracji, wysłać każdy węzeł do odpowiedniej konfiguracji i wprowadzić te konfiguracje. Należy pamiętać, że nie trzeba tworzyć oddzielnego pliku MOF dla zasobów DSC opartych na klasie.

Start-DscConfiguration -Verbose -Wait -Path "C:\Windows\system32\temp"

OBSŁUGA STANU KONFIGURACJI PRZY UŻYCIU ROZSZERZENIA DSC

W przypadku rozszerzenia DSC konfiguracja jest idempotentna. Oznacza to, że jeśli używasz rozszerzenia DSC do wdrożenia tej samej konfiguracji więcej niż raz, wynikowy stan konfiguracji będzie zawsze taki sam. W związku z tym, jeśli podejrzewasz, że wszystkie węzły w środowisku mogły dryfować z żądanego stanu konfiguracji, możesz ponownie wprowadzić tę samą konfigurację DSC, aby przywrócić je do żądanego stanu. Nie trzeba modyfikować skryptu konfiguracji tak, aby adresował tylko te zasoby, których stan dryfował z żądanego stanu.

W poniższym przykładzie pokazano, jak sprawdzić, czy rzeczywisty stan konfiguracji w danym węźle dryfował z ostatniej konfiguracji DSC wprowadzonej w węźle. W tym przykładzie sprawdzamy konfigurację komputera lokalnego.

$session = New-CimSession -ComputerName "localhost"
Test-DscConfiguration -CimSession $session

WBUDOWANE ZASOBY DSC

W skryptach konfiguracji można użyć następujących wbudowanych zasobów:

Nazwa Właściwości
Plik {Ścieżka docelowa, atrybuty, suma kontrolna, zawartość...}
Archiwum {Miejsce docelowe, ścieżka, suma kontrolna, poświadczenie...}
Środowisko {nazwa, zależy, zabezpiecz, ścieżka...}
Grupa {nazwa_grupy, poświadczenie, zależnośćod, opis...}
Rejestr {Message, DependsOn, PsDscRunAsCredential}
Pakiet {Nazwa, Ścieżka, Identyfikator produktu, Argumenty...}
Rejestr {Klucz, ValueName, DependsOn, Upewnij się...}
Skrypt {GetScript, SetScript, TestScript, Poświadczenie...}
Usługa {Nazwa, BuiltInAccount, Poświadczenie, Zależności...}
Użytkownik {UserName, DependsOn, Opis, Wyłączone...}
Czekaj na wszystkich {NazwaWęzła, NazwaZasobu, DependsOn, PsDscRunAsC...}
Czekaj na dowolny {NazwaWęzła, NazwaZasobu, DependsOn, PsDscRunAsC...}
Czekaj na niektóre {LiczbaWęzłów, NazwaWęzła, NazwaZasobu, Zależyod...}
Funkcja systemu Windows {Nazwa, Poświadczenie, DependsOn, Upewnij się...}
Opcjonalna funkcja Windows {nazwa, dependsOn, Ensure, LogLevel...}
Proces systemu Windows {Argumenty, ścieżka, poświadczenia, zależności...}

Aby uzyskać listę dostępnych zasobów DSC w systemie, uruchom Get-DscResource cmdlet.

W przykładzie w tym temacie pokazano, jak używać zasobów File i WindowsFeature. Aby wyświetlić wszystkie właściwości, których można użyć z zasobem, wstaw kursor w słowie kluczowym zasobu (na przykład File) w skrypcie konfiguracji w programie PowerShell ISE, przytrzymaj naciśnięty CTRL, a następnie naciśnij SPACJA.

ZNAJDŹ WIĘCEJ ZASOBÓW

Możesz pobrać, zainstalować i dowiedzieć się więcej o wielu innych dostępnych zasobach DSC utworzonych przez społeczność użytkowników programu PowerShell i DSC oraz przez firmę Microsoft. Odwiedź Galeria programu PowerShell, aby przejrzeć i dowiedzieć się więcej o dostępnych zasobach DSC.

ZOBACZ TEŻ

Omówienie konfiguracji żądanego stanu programu PowerShell

Wbudowane zasoby konfiguracji żądanego stanu programu PowerShell

Tworzenie niestandardowych zasobów konfiguracji żądanego stanu programu PowerShell