Configurazioni DSC
Si applica a: PowerShell 7, configurazione del computer di Azure
Le configurazioni DSC sono script di PowerShell che definiscono un tipo speciale di comando. Per definire una configurazione, usare la parola chiave di PowerShell configuration
.
Configuration MyDscConfiguration {
Environment FirstEnvironmentVariable {
Ensure = 'Present'
Name = 'Foo'
Value = 'Example'
}
Environment SecondEnvironmentVariable {
Ensure = 'Present'
Name = 'Bar'
Value = 'Another'
}
}
MyDscConfiguration
Salvare lo script come file .ps1
.
Sintassi di configurazione
Uno script di configurazione DSC è costituito dalle parti seguenti:
- Blocco
Configuration
. Si tratta del blocco di script più esterno. È possibile definirlo con la parola chiaveConfiguration
e specificare un nome. In questo caso, il nome della configurazione DSC èMyDscConfiguration
. - Uno o più blocchi di risorse DSC. In questo caso, la configurazione DSC definisce le impostazioni per il componente che sta configurando. In questo caso, sono presenti due blocchi di risorse DSC. Entrambi usano la risorsa DSC
Environment
.
Compilazione della configurazione
Prima di poter usare una configurazione DSC, è necessario compilarla in un documento MOF. A tale scopo, chiamare la configurazione DSC come si chiama una funzione di PowerShell. L'ultima riga dell'esempio, contenente solo il nome della configurazione DSC, esegue la configurazione DSC.
Nota
Per chiamare una configurazione DSC, è necessario caricarla nell'ambito corrente (come con qualsiasi altra funzione di PowerShell). È possibile eseguire questa operazione tramite "dot-sourcing" dello script oppure eseguendo lo script con F5 oppure facendo clic sul pulsante esegui script in VS Code. Per dot-source lo script, eseguire il comando . .\myConfig.ps1
dove myConfig.ps1
è il nome del file di script che contiene la configurazione DSC.
Quando si chiama la configurazione DSC, è possibile:
- Crea una cartella nella directory corrente con lo stesso nome della configurazione DSC.
- Crea un file denominato
localhost.mof
nella nuova directory.
Nota
Il file MOF contiene tutte le informazioni di configurazione per il sistema. Per questo motivo, è importante mantenerlo sicuro.
Uso di nuove risorse DSC nella configurazione DSC
Se sono stati eseguiti gli esempi precedenti, si potrebbe aver notato che si è verificato che si stava usando una risorsa senza importarla in modo esplicito.
È possibile usare il cmdlet Get-DscResource per determinare quali risorse sono installate nel sistema e disponibili per l'uso. Anche quando i moduli sono stati inseriti in $env:PSModulePath
e vengono riconosciuti da Get-DscResource
, devono comunque essere caricati all'interno della configurazione DSC.
Import-DscResource
è una parola chiave dinamica che può essere riconosciuta solo all'interno di un blocco Configuration
. Non è un cmdlet.
Import-DscResource
supporta due parametri:
-
ModuleName è il modo consigliato per usare
Import-DscResource
. Accetta il nome del modulo che contiene le risorse da importare (nonché una matrice di stringhe di nomi di modulo). -
Nome è il nome della risorsa da importare. Questo non è il nome descrittivo restituito come proprietà Name dell'oggetto restituito di
Get-DscResource
, ma il nome della classe usato per definire lo schema della risorsa (la proprietà ResourceType dell'oggetto restituito daGet-DscResource
).
Per altre informazioni sull'uso di Import-DSCResource
, vedere Using Import-DSCResource
Importante
Esiste una limitazione nella configurazione del computer che impedisce a una risorsa DSC di usare qualsiasi cmdlet di PowerShell non incluso in PowerShell stesso o in un modulo in PowerShell Gallery. Le risorse DSC che usano i cmdlet di uno o più moduli di Windows non funzioneranno nella configurazione del computer.