Introduzione a DSC (Desired State Configuration) per Windows

Questo argomento illustra come iniziare a usare PowerShell DSC (Desired State Configuration) per Windows. Per informazioni generali su DSC, vedere Introduzione a Windows PowerShell DSC (Desired State Configuration).

Versioni del sistema operativo Windows supportate

Sono supportate le versioni seguenti:

  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows Server 2008 R2 SP1
  • Windows 10
  • Windows 8.1
  • Windows 7

La SKU del prodotto autonomo Microsoft Hyper-V Server non contiene un'implementazione di DSC, di conseguenza non può essere gestito da PowerShell DSC o da State Configuration di Automazione di Azure.

Installazione di DSC

PowerShell DSC è incluso in Windows e viene aggiornato tramite Windows Management Framework. La versione più recente è Windows Management Framework 5.1.

Nota

Non è necessario abilitare la funzionalità "DSC-Service" di Windows Server per gestire un computer con DSC. Questa funzionalità è necessaria solo quando si crea un'istanza del server di pull Windows.

Uso di DSC per Windows

Le sezioni seguenti illustrano come creare ed eseguire configurazioni DSC nei computer Windows.

Creazione di un documento MOF di configurazione

Per creare una configurazione, si usa la parola chiave Configuration di Windows PowerShell. I passaggi seguenti descrivono la creazione di un documento di configurazione con Windows PowerShell.

Installare un modulo contenente risorse DSC

Windows PowerShell DSC (Desired State Configuration) include moduli predefiniti contenenti le risorse DSC. È anche possibile caricare moduli da origini esterne, ad esempio PowerShell Gallery, usando i cmdlet di PowerShellGet.

Install-Module 'PSDscResources' -Verbose

Definire una configurazione e generare il documento di configurazione:

Configuration EnvironmentVariable_Path
{
    param ()

    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost
    {
        Environment CreatePathEnvironmentVariable
        {
            Name = 'TestPathEnvironmentVariable'
            Value = 'TestValue'
            Ensure = 'Present'
            Path = $true
            Target = @('Process', 'Machine')
        }
    }
}

EnvironmentVariable_Path -OutputPath:"./EnvironmentVariable_Path"

Applicare la configurazione al computer

Nota

Per consentire l'esecuzione di DSC, è necessario configurare Windows per la ricezione di comandi remoti di PowerShell anche quando si esegue una configurazione localhost. Per configurare correttamente l'ambiente, è sufficiente eseguire Set-WsManQuickConfig -Force in un terminale di PowerShell con privilegi elevati.

È possibile applicare i documenti di configurazione (file MOF) al computer usando il cmdlet Start-DscConfiguration.

Start-DscConfiguration -Path 'C:\EnvironmentVariable_Path' -Wait -Verbose

Ottenere lo stato corrente della configurazione

Il cmdlet Get-DSCConfiguration esegue una query per ottenere lo stato corrente del computer e restituisce i valori correnti per la configurazione.

Get-DscConfiguration

Il cmdlet Get-DscLocalConfigurationManager restituisce la metaconfigurazione corrente applicata al computer.

Get-DscLocalConfigurationManager

Rimuovere la configurazione corrente da un computer

Remove-DscConfigurationDocument

Remove-DscConfigurationDocument -Stage Current -Verbose

Configurare le impostazioni in Gestione configurazione locale

Applicare un file MOF di metaconfigurazione al computer usando il cmdlet Set-DSCLocalConfigurationManager. Richiede il percorso del file MOF di metaconfigurazione.

Set-DSCLocalConfigurationManager -Path 'c:\metaconfig\localhost.meta.mof' -Verbose

File di log di Windows PowerShell DSC (Desired State Configuration)

I log per DSC vengono scritti nel percorso Microsoft-Windows-Dsc/Operational di Registro eventi di Windows. È possibile abilitare altri log a scopo di debug attenendosi alla procedura descritta in Dove sono i registri eventi DSC?.