DSC-resurser
Gäller för Windows PowerShell 4.0 och uppåt.
Översikt
Desired State Configuration (DSC)-resurser tillhandahåller byggstenarna för en DSC-konfiguration. En resurs exponerar egenskaper som kan konfigureras (schema) och innehåller De PowerShell-skriptfunktioner som LCM (Local Configuration Manager) anropar för att "göra det".
En resurs kan modellera något så allmänt som en fil eller så specifik som en IIS-serverinställning. Grupper av liknande resurser kombineras i en DSC-modul, som organiserar alla nödvändiga filer i en struktur som är portabel och innehåller metadata för att identifiera hur resurserna är avsedda att användas.
Varje resurs har ett *schema som bestämmer vilken syntax som krävs för att använda resursen i en konfiguration. En resurs schema kan definieras på följande sätt:
Schema.Mof
fil: De flesta resurser definierar sitt schema i enschema.mof
fil med hjälp av hanterat objektformat.<Resource Name>.schema.psm1
fil: Sammansatta resurser definierar sitt schema i en<ResourceName>.schema.psm1
fil med hjälp av ett parameterblock.<Resource Name>.psm1
fil: Klassbaserade DSC-resurser definierar sitt schema i klassdefinitionen. Syntaxobjekt betecknas som klassegenskaper. Mer information finns i about_Classes.
Om du vill hämta syntaxen för en DSC-resurs använder du cmdleten Get-DSCResource med syntaxparametern . Den här användningen liknar att använda Get-Command med syntaxparametern för att hämta cmdlet-syntax. Utdata som visas visar mallen som används för ett resursblock för den resurs som du anger.
Get-DscResource -Syntax Service
Utdata som visas bör likna utdata nedan, även om den här resursens syntax kan ändras i framtiden. Precis som cmdlet-syntax är nycklarna som visas inom hakparenteser valfria. Typerna anger vilken typ av data som varje nyckel förväntar sig.
Anteckning
Nyckeln Se till är valfri eftersom den som standard är "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 }]
}
Anteckning
I PowerShell-versioner under 7.0 Get-DscResource
finns inte klassbaserade DSC-resurser.
I en konfiguration kan ett tjänstresursblock se ut så här för att kontrollera att Spooler-tjänsten körs.
Anteckning
Innan du använder en resurs i en konfiguration måste du importera den med 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"
}
}
}
Konfigurationer kan innehålla flera instanser av samma resurstyp. Varje instans måste ha ett unikt namn. I följande exempel läggs ett andra tjänstresursblock till för att konfigurera tjänsten 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"
}
}
}
Anteckning
Från och med PowerShell 5.0 lades IntelliSense till för DSC. Med den här nya funktionen kan du använda TAB och Ctr+Space för att automatiskt slutföra nyckelnamn.
Typer av resurser
Windows levereras med inbyggda resurser och Linux har os-specifika resurser. Det finns resurser för beroenden mellan noder, pakethanteringsresurser samt communityägda och underhållna resurser. Du kan använda stegen ovan för att fastställa syntaxen för dessa resurser och hur du använder dem. De sidor som betjänar dessa resurser har arkiverats under Referens.
Inbyggda resurser i Windows
- Arkivera resursen
- Miljöresurs
- Filresurs
- Gruppresurs
- GroupSet-resurs
- Loggresurs
- Paketresurs
- ProcessSet-resurs
- Registerresurser
- Skriptresurs
- Tjänstresurs
- ServiceSet-resurs
- Användarresurs
- WindowsFeature-resurs
- WindowsFeatureSet-resurs
- WindowsOptionalFeature-resurs
- WindowsOptionalFeatureSet-resurs
- Resurs för WindowsPackageCabResource
- WindowsProcess-resurs
Beroenderesurser mellan noder
Pakethanteringsresurser
Linux-resurser
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för