Zasoby DSC
Dotyczy Windows PowerShell 4.0 i nowszych.
Omówienie
Desired State Configuration (DSC) Zasoby zapewniają bloki konstrukcyjne konfiguracji DSC. Zasób uwidacznia właściwości, które można skonfigurować (schemat) i zawiera funkcje skryptu programu PowerShell, które lokalne Configuration Manager (LCM) wywołuje w taki sposób.
Zasób może modelować coś tak ogólnego jak plik lub jako określone jako ustawienie serwera USŁUG IIS. Grupy takich zasobów są połączone z modułem DSC, który organizuje wszystkie wymagane pliki w strukturze przenośnej i zawiera metadane w celu zidentyfikowania sposobu, w jaki zasoby mają być używane.
Każdy zasób ma *schemat, który określa składnię wymaganą do użycia zasobu w konfiguracji. Schemat zasobu można zdefiniować w następujący sposób:
Schema.Mof
plik: większość zasobów definiuje schemat w pliku przy użyciu formatu zarządzanegoschema.mof
obiektu.<Resource Name>.schema.psm1
plik: Zasoby złożone definiują schemat w<ResourceName>.schema.psm1
pliku przy użyciu bloku parametrów.<Resource Name>.psm1
file: Zasoby DSC oparte na klasach definiują swój schemat w definicji klasy. Elementy składni są oznaczone jako właściwości klasy. Aby uzyskać więcej informacji, zobacz about_Classes.
Aby pobrać składnię zasobu DSC, użyj polecenia cmdlet Get-DSCResource z parametrem Składnia . To użycie jest podobne do użycia polecenia Get-Command z parametrem Składnia w celu pobrania składni polecenia cmdlet. Wyświetlone dane wyjściowe zawierają szablon używany dla bloku zasobów dla określonego zasobu.
Get-DscResource -Syntax Service
Wyświetlone dane wyjściowe powinny być podobne do poniższych danych wyjściowych, ale składnia tego zasobu może ulec zmianie w przyszłości. Podobnie jak składnia polecenia cmdlet, klucze widoczne w nawiasach kwadratowych są opcjonalne. Typy określają typ danych, których oczekuje każdy klucz.
Uwaga
Upewnij się, że klucz jest opcjonalny, ponieważ domyślnie ma wartość "Present".
Service [String] #ResourceName
{
Name = [string]
[BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }]
[Credential = [PSCredential]]
[Dependencies = [string[]]]
[DependsOn = [string[]]]
[Description = [string]]
[DisplayName = [string]]
[Ensure = [string]{ Absent | Present }]
[Path = [string]]
[PsDscRunAsCredential = [PSCredential]]
[StartupType = [string]{ Automatic | Disabled | Manual }]
[State = [string]{ Running | Stopped }]
}
Uwaga
W programie PowerShell w wersjach poniżej 7.0 Get-DscResource
nie można znaleźć zasobów DSC opartych na klasie.
W ramach konfiguracji blok zasobów usługi może wyglądać następująco, aby upewnić się , że usługa buforowania jest uruchomiona.
Uwaga
Przed użyciem zasobu w konfiguracji należy zaimportować go przy użyciu polecenia Import-DSCResource.
Configuration TestConfig
{
# It is best practice to always directly import resources, even if the
# resource is a built-in resource.
Import-DSCResource -Name Service
Node localhost
{
# The name of this resource block, can be anything you choose, as l
# ong as it is of type [String] as indicated by the schema.
Service "Spooler - Running"
{
Name = "Spooler"
State = "Running"
}
}
}
Konfiguracje mogą zawierać wiele wystąpień tego samego typu zasobu. Każde wystąpienie musi mieć unikatową nazwę. W poniższym przykładzie dodawany jest drugi blok zasobów usługi w celu skonfigurowania usługi "DHCP".
Configuration TestConfig
{
# It is best practice to always directly import resources, even if the
# resource is a built-in resource.
Import-DSCResource -Name Service
Node localhost
{
# The name of this resource block, can be anything you choose, as
# long as it is of type [String] as indicated by the schema.
Service "Spooler - Running"
{
Name = "Spooler"
State = "Running"
}
# To configure a second service resource block, add another Service
# resource block and use a unique name.
Service "DHCP - Running"
{
Name = "DHCP"
State = "Running"
}
}
}
Uwaga
Począwszy od programu PowerShell 5.0, funkcja IntelliSense została dodana dla rozszerzenia DSC. Ta nowa funkcja umożliwia używanie klawiszy TAB i Ctr+Space do automatycznego uzupełniania nazw kluczy.
Typy zasobów
System Windows zawiera wbudowane zasoby, a system Linux ma zasoby specyficzne dla systemu operacyjnego. Istnieją zasoby dotyczące zależności między węzłami, zasobów zarządzania pakietami, a także zasobów należących do społeczności i obsługiwanych zasobów. Powyższe kroki umożliwiają określenie składni tych zasobów i sposobu ich używania. Strony obsługujące te zasoby zostały zarchiwizowane w obszarze Dokumentacja.
Wbudowane zasoby systemu Windows
- Zasób archiwum
- Zasób środowiska
- Zasób pliku
- Zasób grupy
- Zasób GroupSet
- Zasób dziennika
- Zasób pakietu
- Zasób ProcessSet
- Zasób rejestru
- Zasób skryptu
- Zasób usługi
- Zasób ServiceSet
- Zasób użytkownika
- Zasób WindowsFeature
- Zasób WindowsFeatureSet
- Zasób WindowsOptionalFeature
- Zasób WindowsOptionalFeatureSet
- Zasób WindowsPackageCabResource
- Zasób WindowsProcess
Zasoby zależności między węzłami
Zasoby zarządzania pakietami
Zasoby systemu Linux
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla