Met Desired State Configuration (DSC) leggen we de configuratie van een resource vast in een soort template. We beschrijven in deze template hoe een server eruit zou moeten zien. DSC zal dit uitvoeren en zorgen dat de server in deze staat blijft.
In deze blog gaan ik een simple DSC push configuratie maken waarbij we een directory en een subdirectory gaan aanmaken op onze host.
Voor deze demo gebruik ik een Virtual Machine met daarop windows server 2016 en powershell 5.1
We loggen aan op de server en voeren onderstaand commando uit. Hiermee maken we de directory C:\DSC aan (Als deze nog niet bestaat) . Hierin gaan we de DSC configuratie files (MOF) opslaan.
Nu gaan we de DSC configuratie file (MOF) maken. Ik heb hieronder een simpele configuratie gemaakt waarbij we de directory C:\Scripts en c:\Scripts\DSC gaan maken. De folder c:\Scripts\DSC mag alleen aangemaakt worden als c:\scripts bestaat. Deze configuratie kun je zien als een soort functie.
Om een mof file te kunnen maken gaan we de configuratie runnen. Let op dat je in de juiste directory staat of dat je het pad mee geeft met de parameter -outputpath.
Als je geen pad mee geeft dan wordt de configuratie directory en de mof file gemaakt in het huidige pad .
Dus kort samengevat. De configuratie beschrijft de desired state. Vervolgens runnen we de configuratie en maken we de mof file aan. Tot slot starten we de DSC configuratie.
Met het cmdlet start-DscConfiguration starten we de LCM (Local Configuration Manager) om de configuratie toe te passen.
Als we start-DscConfiguration nogmaals runnen zul je zien dat het scripts niets doet omdat de machine reeds in desired state is.
De LCM (Local Configuration Manager) zal nu default om de 15 minuten gaan controleren of de configuratie nog in desired state is. Als dit niet het geval is dan wordt dit weer aangepast.
Note : Verwijder de folder c:\Scripts en kijk wat er gebeurd
Met het commando get-DscLocalConfiguratiemanager kun je de huidige LCM instellingen opvragen
Met deze basis zijn we nu in staat op lokaal een configuratie te runnen. De configuratie kun je natuurlijk zelf aanpassen.
Let op bij gebruik van wachtwoorden. Deze worden als leesbare tekst in de MOF file gezet. In een volgend blog gaan we hierop in en gaan we kijken hoe we dit kunnen verhelpen.
Download het script : or check on github :