Risorse DSC
Si applica a Windows PowerShell 4.0 e versioni successive.
Panoramica
Le risorse DSC (Desired State Configuration) forniscono i blocchi predefiniti per una configurazione DSC. Una risorsa espone le proprietà che possono essere configurate (schema) e contiene le funzioni di script di PowerShell chiamate da Gestione configurazione locale per assicurare il risultato desiderato.
Una risorsa può modellare un elemento generico come un file o uno specifico come un'impostazione del server IIS. I gruppi di tali risorse sono combinati in un modulo DSC, che organizza tutti i file necessari in una struttura portatile che include i metadati che permettono di identificare il modo in cui si intende usare le risorse.
Ogni risorsa dispone di uno *schema che determina la sintassi necessaria per usare la risorsa in una configurazione. Lo schema di una risorsa può essere definito nei modi seguenti:
- File
Schema.Mof
: la maggior parte delle risorse definisce lo schema in un fileschema.mof
con Managed Object Format. - File
<Resource Name>.schema.psm1
: le risorse composite definiscono lo schema in un file<ResourceName>.schema.psm1
con un blocco di parametri. - File
<Resource Name>.psm1
: le risorse DSC basate su classe definiscono lo schema nella definizione della classe. Gli elementi della sintassi sono contrassegnati come proprietà della classe. Per altre informazioni, vedere about_Classes.
Per recuperare la sintassi per una risorsa DSC, usare il cmdlet Get-DSCResource con il parametro Syntax. Questo utilizzo è simile all'uso di Get-Command con il parametro Syntax per ottenere la sintassi del cmdlet. L'output visualizzato indicherà il modello usato per un blocco di risorse per la risorsa specificata.
Get-DscResource -Syntax Service
L'output visualizzato dovrebbe essere simile all'output seguente, anche se la sintassi di questa risorsa potrebbe cambiare in futuro. Come nella sintassi dei cmdlet, le chiavi racchiuse tra parentesi quadre sono facoltative. I tipi specificano il tipo di dati previsto da ogni chiave.
Nota
La chiave Ensure è facoltativa perché l'impostazione predefinita è "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 }]
}
Nota
Nelle versioni di PowerShell precedenti alla 7.0, Get-DscResource
non trova risorse DSC basate su classi.
All'interno di una configurazione, un blocco di risorse Service potrebbe avere questo aspetto per assicurare (Ensure) che il servizio spooler sia in esecuzione.
Nota
Prima di usare una risorsa in una configurazione, è necessario importarla tramite 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"
}
}
}
Le configurazioni possono contenere più istanze dello stesso tipo di risorsa. Ogni istanza deve essere denominata in modo univoco. Nell'esempio seguente viene aggiunto un secondo blocco di risorse Service per configurare il servizio "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"
}
}
}
Nota
A partire da PowerShell 5.0 è stato aggiunto IntelliSense per DSC. Questa nuova funzionalità consente di usare TAB e CTRL+BARRA SPAZIATRICE per il completamento automatico dei nomi delle chiavi.
Tipi di risorse
Windows include risorse predefinite e Linux ha risorse specifiche del sistema operativo. Sono disponibili risorse per le dipendenze tra nodi, le risorse di gestione dei pacchetti, nonché le risorse di proprietà della community e gestite. È possibile usare i passaggi precedenti per determinare la sintassi di queste risorse e come usarle. Le pagine relative a queste risorse sono archiviate in Riferimento.
Risorse predefinite di Windows
- Risorsa Archive
- Risorsa Environment
- Risorsa File
- Risorsa Group
- Risorsa GroupSet
- Risorsa Log
- Risorsa Package
- Risorsa ProcessSet
- Risorsa Registry
- Risorsa Script
- Risorsa Service
- Risorsa ServiceSet
- Risorsa User
- Risorsa WindowsFeature
- Risorsa WindowsFeatureSet
- Risorsa WindowsOptionalFeature
- Risorsa WindowsOptionalFeatureSet
- Risorsa WindowsPackageCabResource
- Risorsa WindowsProcess
Risorse per le dipendenze tra nodi
Risorse di gestione pacchetti
Risorse di Linux
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per