Condividi tramite


Scrivere, compilare e applicare una configurazione

Si applica a: Windows PowerShell 4.0, Windows PowerShell 5.0

In questo esercizio viene illustrata la creazione e l'applicazione di una configurazione DSC (Desired State Configuration) dall'inizio alla fine. Nell'esempio seguente verrà illustrato come scrivere e applicare una configurazione molto semplice. La configurazione assicurerà l'esistenza di un file "HelloWorld.txt" sul computer locale. Se si elimina il file, DSC lo ricreerà al successivo aggiornamento.

Per una panoramica di DSC e del suo funzionamento, vedere Panoramica della configurazione dello stato desiderato per gli 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 la modalità di configurazione di uno o più computer di destinazione (nodi).

Nell'ISE di PowerShell o in un altro 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 in modo da poter lavorare con molte risorse DSC nella stessa configurazione, assicurarsi di inserire ogni modulo in una riga separata utilizzando Import-DscResource. Questa operazione è più semplice da gestire nel controllo del codice sorgente ed è necessaria quando si lavora con DSC in Configurazione stato di Azure.

 Configuration HelloWorld {

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

Salva il file come "HelloWorld.ps1".

Definire una configurazione è come definire una funzione. Il blocco Node specifica il nodo di destinazione da configurare, in questo caso localhost.

La configurazione chiama una risorsa, la File risorsa. Le risorse svolgono il lavoro di garantire che il nodo di destinazione si trovi nello stato definito dalla configurazione.

Compilare la configurazione

Per applicare una configurazione DSC a un nodo, è necessario prima compilarla in un file MOF. L'esecuzione della configurazione, come una funzione, compilerà un .mof file per ogni nodo definito dal Node blocco. Per eseguire la configurazione, è necessario dot source dello HelloWorld.ps1 script nell'ambito corrente. Per ulteriori informazioni, vedere about_Scripts.

Dot source il tuo HelloWorld.ps1 script digitando il percorso in cui lo hai memorizzato, dopo il . (punto, spazio). È quindi possibile eseguire la configurazione chiamandola come una funzione. È anche possibile richiamare la funzione di configurazione nella parte inferiore dello script in modo da non dover eseguire il dot-source.

. 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 si dispone del MOF compilato, è possibile applicare la configurazione al nodo di destinazione (in questo caso, il computer locale) chiamando il cmdlet Start-DscConfiguration .

Il Start-DscConfiguration cmdlet indica a Gestione configurazione locale (LCM), il motore di DSC, di applicare la configurazione. Gestione configurazione locale esegue il lavoro di chiamata delle risorse DSC per applicare la configurazione.

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

Annotazioni

Se il -Wait parametro non viene specificato, Start-DSCConfiguration crea un processo in background per eseguire l'operazione. Specificando il -Verbose parametro è possibile osservare l'output dettagliato dell'operazione. -Wait -Verbose e sono entrambi parametri facoltativi.

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

Testare la configurazione

Una volta completato il Start-DSCConfiguration cmdlet, dovrebbe essere visualizzato un HelloWorld.txt file nel percorso specificato. È possibile verificare il contenuto con il cmdlet Get-Content .

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

L'output dovrebbe essere 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 vedere la configurazione applicata di nuovo, è possibile rimuovere il file di testo creato dalla configurazione. Usare il Start-DSCConfiguration cmdlet con il -UseExisting parametro. Il -UseExisting parametro indica Start-DSCConfiguration di riapplicare il file "current.mof", che rappresenta la configurazione applicata correttamente più di recente.

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

Passaggi successivi

  • Per altre informazioni sulle configurazioni DSC, vedere Configurazioni DSC.
  • Vedere quali risorse DSC sono disponibili e come creare risorse DSC personalizzate in Risorse DSC.
  • Trovare le configurazioni e le risorse DSC in PowerShell Gallery.