Configurazioni DSC
Si applica a: PowerShell 7, funzionalità di configurazione del computer di Gestione automatica di Azure
Le configurazioni DSC sono script di PowerShell che definiscono un tipo speciale di comando. Per definire una configurazione, usare la parola chiave configuration
di PowerShell .
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 più esterno dello script. Lo definisci con laConfiguration
parola chiave e fornisci 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
Environment
risorsa DSC.
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 chiamerebbe 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 per qualsiasi altra funzione di PowerShell. È possibile eseguire questa operazione tramite "dot-sourcing" dello script oppure eseguendo lo script con F5 o facendo clic sul pulsante Esegui script in VS Code. Per usare 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 garantirne la sicurezza.
Uso di nuove risorse DSC nella configurazione DSC
Eseguendo gli esempi precedenti, si ricevere un avviso che informa che è stata usata una risorsa senza importarla in modo esplicito.
È possibile usare il cmdlet Get-DscResource per determinare le risorse 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 Configuration
blocco. Non è un cmdlet. Import-DscResource
supporta due parametri:
- ModuleName è il modo consigliato per usare
Import-DscResource
. Questo parametro accetta il nome del modulo che contiene le risorse da importare, nonché una matrice di stringhe di nomi di modulo. - Name è il nome della risorsa da importare. Questo non è il nome descrittivo restituito come proprietà Name dell'oggetto
Get-DscResource
restituito, ma il nome della classe usato durante la definizione dello schema della risorsa (la proprietà ResourceType dell'oggetto restituito daGet-DscResource
).
Per altre informazioni sull'uso di Import-DSCResource
, vedere Uso di Import-DSCResource
Importante
Esiste una limitazione nella configurazione del computer che impedisce a una risorsa DSC di usare i cmdlet di PowerShell non inclusi in PowerShell o in un modulo nel PowerShell Gallery. Le risorse DSC che usano i cmdlet di uno o più moduli Windows non funzioneranno nella configurazione del computer.