Condividi tramite


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 chiave Configuration 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 da Get-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.

Vedere anche