Condividi tramite


Scrivere, compilare e applicare una configurazione

Si applica a: Windows PowerShell 4.0, Windows PowerShell 5.0

Questo esercizio illustra nei dettagli tutti i passaggi per creare e applicare una configurazione DSC (Desired State Configuration). Nell'esempio seguente si apprenderà come scrivere e applicare una configurazione molto semplice. La configurazione garantirà la presenza di un file "HelloWorld.txt" nel computer locale. Se si elimina il file, DSC lo crea nuovamente al successivo aggiornamento.

Per una panoramica di DSC e del relativo funzionamento, vedere Panoramica di DSC (Desired State Configuration) per sviluppatori.

Requisiti

Per eseguire questo esempio, è necessario un computer che esegue PowerShell 4.0 o versione successiva.

Scrivere la configurazione

Una configurazione DSC è una funzione speciale di PowerShell che definisce come si vogliono configurare uno o più computer di destinazione (nodi).

In PowerShell ISE o altri editor di PowerShell digitare quanto segue:

Configuration HelloWorld {

    # Import the module that contains the File resource.
    Import-DscResource -ModuleName PsDesiredStateConfiguration

    # The Node statement specifies which targets to compile MOF files for, when
    # this configuration is executed.
    Node 'localhost' {

        # The File resource can ensure the state of files, or copy them from a
        # source to a destination with persistent updates.
        File HelloWorld {
            DestinationPath = "C:\Temp\HelloWorld.txt"
            Ensure = "Present"
            Contents   = "Hello World from DSC!"
        }
    }
}

Importante

Negli scenari più avanzati in cui è necessario importare più moduli per poter usare numerose risorse DSC nella stessa configurazione, assicurarsi di inserire ogni modulo in una riga separata usando Import-DscResource. Questa operazione è più semplice da gestire nel controllo del codice sorgente ed è richiesta quando si usa DSC in State Configuration di Azure.

 Configuration HelloWorld {

  # Import the module that contains the File resource.
  Import-DscResource -ModuleName PsDesiredStateConfiguration
  Import-DscResource -ModuleName xWebAdministration

Salvare il file con nome "HelloWorld.ps1".

La definizione di una configurazione è simile a definizione di una funzione. Il blocco Node specifica il nodo di destinazione da configurare, in questo caso localhost.

La configurazione chiama un'unica risorsa, la risorsa File. Le risorse si occupano di assicurarsi che il nodo di destinazione sia nello stato definito dalla configurazione.

Compilare la configurazione

Per applicare una configurazione DSC a un nodo, è prima necessario compilarla in un file MOF. L'esecuzione della configurazione, come una funzione, compila un unico file .mof per ogni nodo definito dal blocco Node. Per eseguire la configurazione, è necessario usare il dot sourcing per lo script HelloWorld.ps1 nell'ambito corrente. Per altre informazioni, vedere about_Scripts.

Usare il dot sourcing per lo script HelloWorld.ps1 digitando il percorso in cui è archiviato dopo . (punto, spazio). È quindi possibile eseguire la configurazione chiamandola come una funzione. È anche possibile richiamare la funzione di configurazione nella parte finale dello script in modo che non sia necessario eseguire il dot sourcing.

. C:\Scripts\HelloWorld.ps1
HelloWorld

Verrà generato l'output seguente:

Directory: C:\Scripts\HelloWorld


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        3/13/2017   5:20 PM           2746 localhost.mof

Applicare la configurazione

Ora che è disponibile il file MOF compilato, è possibile applicare la configurazione al nodo di destinazione, in questo caso il computer locale, chiamando il cmdlet Start-DscConfiguration.

Il cmdlet Start-DscConfiguration indica a Gestione configurazione locale, il motore di DSC, di applicare la configurazione. Gestione configurazione locale si occupa di chiamare le risorse DSC per applicare la configurazione.

Usare il codice seguente per eseguire il cmdlet Start-DSCConfiguration. Specificare il percorso della directory in cui è archiviato il file localhost.mof nel parametro Path. Il cmdlet Start-DSCConfiguration ricerca nella directory specificata i file <computername>.mof. Il cmdlet Start-DSCConfiguration tenta di applicare ogni file .mof trovato al computername specificato dal nome file ("localhost", "server01", "dc-02" e così via).

Nota

Se il parametro -Wait non è specificato, Start-DSCConfiguration crea un processo in background per eseguire l'operazione. La specifica del parametro -Verbose consente di controllare l'output dettagliato dell'operazione. -Wait e -Verbose sono entrambi parametri facoltativi.

Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait

Testare la configurazione

Al termine del cmdlet Start-DSCConfiguration, viene visualizzato un file HelloWorld.txt nel percorso specificato. È possibile verificare il contenuto con il cmdlet Get-Content.

È anche possibile testare lo stato corrente usando Test-DSCConfiguration.

L'output sarà True se il nodo è attualmente conforme alla configurazione applicata.

Test-DSCConfiguration
True
Get-Content -Path C:\Temp\HelloWorld.txt
Hello World from DSC!

Riapplicazione della configurazione

Per applicare nuovamente la configurazione, è possibile rimuovere il file di testo creato dalla configurazione. Quindi usare il cmdlet Start-DSCConfiguration con il parametro -UseExisting. Il parametro -UseExisting indica a Start-DSCConfiguration di riapplicare il file "current.mof" che rappresenta l'ultima configurazione applicata correttamente.

Remove-Item -Path C:\Temp\HelloWorld.txt

Passaggi successivi

  • Ulteriori informazioni sulle configurazioni DSC sono disponibili in Configurazioni DSC.
  • Per informazioni sulle risorse DSC disponibili e su come creare risorse DSC personalizzate, vedere Risorse DSC.
  • Le configurazioni e le risorse DSC sono disponibili in PowerShell Gallery.