Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 |
---|---|
File | {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