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
- Dowiedz się więcej o konfiguracjach DSC w konfiguracjach DSC.
- Zobacz, jakie zasoby DSC są dostępne i jak tworzyć niestandardowe zasoby DSC w zasobach DSC.
- Znajdź konfiguracje DSC i zasoby w Galeria programu PowerShell.