Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.