Source: Sysadmin.it Blog

Sysadmin.it Blog PowerShell 4: Desired State Configuration

Con la versione 4.0 di PowerShell, introdotta con Ws2012 R2 e W8.1 e disponibile come download per WS2008R2/W7 e WS2012/W8 tramite il Windows Management Framework 4.0 (WMF), &egrave; stata resa disponibile la funzionalit&agrave; Windows PowerShell Desired State Configuration (DSC).DCS premette di verificare la corretta configurazione dei componenti di un sistema locale o remoto, di implementare il continuous deployment e di evitare il configuration drift in modo dichiarativo, autonomo e idempotente.Tramite DCS &egrave; infatti possibile realizzare degli "script" dichiarativi (DSC Configuration) nei quali &egrave; possibile specificare i componenti (DSC Resource) che devono essere presenti o a assenti su di un computer locale o remoto (DSC Node), inoltre &egrave; possibile specificare come i componenti debbano essere configurati.Tramite le DCS Resources &egrave; possibile configurare un gran numero di funzionalit&agrave; e risorse del sistema tra cui:Estrazione di file .zip in path specificiGestione delle variabili d'ambiente del sistemaGestione file e directoryGestione gruppi e utenti localiLog di messaggi di configurazioneInstallazione/gestione package (Windows Installer e setup.exe)Configurazione di processi e gestione di serviziGestione chiavi di registry e valoriAggiunta/rimozione ruoli e funzionalit&agrave;Esecuzione PS script blockDefinizione di DSC Resource custom (file MOF, Script Module .psm1, Module manifest .psm1)Per i dettagli sull'implementazione dei DSC script block si veda Get Started with Windows PowerShell Desired State Configuration e Windows PowerShell Desired State Configuration Data, mentre per ulteriori informazioni sulla configurazione delle DSC Resources si veda Windows PowerShell Desired State Configuration Resources.L'esecuzione dello script genera un file MOF (Managed Object Format) cui nome &egrave; pari al nome del nodo in una subdirectory con nome pari allo script nella directory corrente (nel caso vi siano nello script più nodi verranno creati più file MOF).E' possibile specificare la directory su cui redirigere la creazione dei file MOF tramite specificando il parametro -OutputPath.Tramite il CmdLet Start-DscConfiguration &egrave; possibile applicare le configurazioni contenute nel file MOF al server o ai server locali o remoti, questo tipo di distribuzione dei file MOF viene definito Push Model. Utilizzando questo modello per lo Staging i DCS Data (file MOF) saranno inviati al sistema da configurare che dovr&agrave; disporre anche degli eventuali custom providers utilizzati che dovranno essere memorizzati nella directory %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\Modules\PSDesiredStateConfiguration\PSProviders.DCS mette a disposizione una serie di CmdLet per il test e la verifica delle configurazioni:$session = New-CimSession -ComputerName "Server01" -Credential Domain\UserName# Rilevazione configurazione correnteGet-DscConfiguration -CimSession $session# Restore di una configurazione precedenteRestore-DscConfiguration -CimSession $session# Confronto della configurazione attuale con la configurazione desiderata (il CmdLet ritorna True le due configurazioni coincidono)Test-DscConfiguration -CimSession $sessionPer ulteriori informazioni sul CmdLets di DSC si veda Windows PowerShell Desired State Configuration Cmdlets.E' possibile testare la funzionalit&agrave; DSC basata sul Push Model tramite il virtual lab Desired State Configuration with Window Server 2012 R2 disponibile al seguente Explore Virtual Labs!.E' possibile in alternativa gestire la distribuzione dei file MOF con un modello di tipo Pull configurando un Pull server ovvero un server web basato su IIS con un'interfaccia OData (Open Data Protocol), questo tipo di approccio &egrave; più indicato nel caso sia necessario gestire tramite DSC più server, i dettagli del DCS Pull Model Protocol sono pubblici in conformit&agrave; all'iniziativa Microsoft Open Specifications e disponibili al seguente [MS-DSCPM]: Desired State Configuration Pull Model Protocol.Per installare un Pull Server &egrave; necessario aggiungere la feature Windows PowerShell Desired State Configuration Service tramite Server Manager o tramite il comando Add-WindowsFeature Dsc-Service. (la feature aggiunger&agrave; le necessarie dipendenze quali IIS, i moduli necessari e il Management OData Extension)Il sistema da gestire contatter&agrave; il Pull server tramite un URI e un ID per ottenere la sua configurazione e verificare se tutti i custom provider sono disponibili, in caso contrario li scaricher&agrave;. E' possibile distribuire ai server remoti la configurazione per utilizzare un DSC Pull Server utilizzando lo stesso DSC tramite uno script PS di configurazione DSC di questo tipo:Configuration SetPullMode{ Node Server01 { # Set the DSC engine (LCM) to Pull mode DesiredStateConfigurationSettings LCM { ConfigurationID = "e528dee8-6f0b-4885-98a1-1ee4d8e86d82" ConfigurationMode = "Pull" DownloadManagerName = "WebDownloadManager" DownloadManagerCustomData = @{ServerUrl = "http://<PullServer>:8080/PSDSCPullServer/PSDSCPullServer.svc" } PullActionRefreshFrequencyInSeconds = 60 } }}SetPullModeSet-DSCLocalConfigurationManager -ComputerName Server01 -Path .\SetPullMode -VerbosePer alcune guide step by step sull'implementazione di un DSC Pull Server si vedano i seguenti:Building a Desired State Configuration Pull ServerConfiguring PowerShell DSC Pull ModeDesired State Configuration in Pull mode over SMBPer ulteriori informazioni si vedano anche i seguenti:PowerShell Sessions, Slides and Demos from TechEd 2013 e in particolare le registrazioni della sessione Desired State Configuration in Windows PowerShellIntroducing PowerShell Desired State Configuration (DSC)Io e Mario Serra parleremo di DSC nella sessione Windows Server 2012 R2: Manage Your Server with PowerShell che terremo alla Server Infrastructure Days Online il 24 ottobre.Se intendete provare testare DSC in un vostro lab vi ricordo che nel TechNet Evaluation Center sono disponibili la versione di valutazione a 180 giorni di Windows Server 2012 R2 e la versione a 90 giorni di Windows 8.1 Enterprise.

Read full article »
Est. Annual Revenue
$100K-5.0M
Est. Employees
1-25
CEO Avatar

CEO

Update CEO

CEO Approval Rating

- -/100