about_DesiredStateConfiguration
KRÓTKI OPIS
Zawiera krótkie wprowadzenie do funkcji Desired State Configuration 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 są uruchamiane te usługi.
DsC udostępnia zestaw rozszerzeń języka programu PowerShell, nowych poleceń cmdlet i zasobów, których można użyć do deklaratywnego określenia sposobu konfigurowania stanu środowiska oprogramowania. Zapewnia również metodę utrzymania istniejących konfiguracji i zarządzania nimi.
DsC jest wprowadzana w programie PowerShell 4.0.
Aby uzyskać szczegółowe informacje na temat rozszerzenia DSC, zobacz PowerShell Desired State Configuration Overview in the TechNet Library (Omówienie programu PowerShell Desired State Configuration w bibliotece TechNet).
TWORZENIE ZASOBÓW DSC ZA POMOCĄ 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 przy użyciu klas programu PowerShell w witrynie Microsoft TechNet.
KORZYSTANIE Z PLATFORMY 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 przejdź do nawiasów klamrowych, 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 nawiasy klamrowe, które rozdzielą 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 klasach.
Start-DscConfiguration -Verbose -Wait -Path "C:\Windows\system32\temp"
UŻYWANIE ROZSZERZENIA DSC DO OBSŁUGI STANU KONFIGURACJI
W przypadku rozszerzenia DSC konfiguracja jest idempotentna. Oznacza to, że jeśli używasz kontrolera DSC do uchwalenia tej samej konfiguracji więcej niż raz, wynikowy stan konfiguracji będzie zawsze taki sam. W związku z tym, jeśli podejrzewasz, że jakiekolwiek 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 można sprawdzić, czy rzeczywisty stan konfiguracji w danym węźle dryfował z ostatniej konfiguracji DSC uchwalonej 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 | {DestinationPath, Atrybuty, Suma kontrolna, Zawartość...} |
Archiwum | {Miejsce docelowe, ścieżka, suma kontrolna, poświadczenia...} |
Środowisko | {Name, DependsOn, Ensure, Path...} |
Group (Grupa) | {GroupName, Credential, DependsOn, Description...} |
Dziennik | {Message, DependsOn, PsDscRunAsCredential} |
Pakiet | {Nazwa, Ścieżka, Identyfikator produktu, Argumenty...} |
Rejestr | {Klucz, ValueName, DependsOn, Upewnij się...} |
Skrypt | {GetScript, SetScript, TestScript, Credential...} |
Usługa | {Name, BuiltInAccount, Credential, Dependencies...} |
Użytkownik | {UserName, DependsOn, Description, Disabled...} |
WaitForAll | {NodeName, ResourceName, DependsOn, PsDscRunAsC...} |
WaitForAny | {NodeName, ResourceName, DependsOn, PsDscRunAsC...} |
WaitForSome | {NodeCount, NodeName, ResourceName, DependsOn...} |
WindowsFeature | {Nazwa, Poświadczenia, DependsOn, Upewnij się...} |
WindowsOptionalFeature | {Name, DependsOn, Ensure, LogLevel...} |
WindowsProcess | {Argumenty, ścieżka, poświadczenie, zależności...} |
Aby uzyskać listę dostępnych zasobów DSC w systemie, uruchom polecenie cmdlet Get-DscResource.
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 Plik) w skrycie konfiguracji w programie PowerShell ISE, przytrzymaj klawisze CTRL, a następnie naciśnij klawisz SPACEBAR.
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 RÓWNIEŻ
Omówienie programu PowerShell Desired State Configuration
Wbudowane zasoby Desired State Configuration programu PowerShell
Tworzenie niestandardowych zasobów programu PowerShell Desired State Configuration