Delen via


Een configuratie schrijven, compileren en toepassen

Van toepassing op: Windows PowerShell 4.0, Windows PowerShell 5.0

In deze oefening wordt stapsgewijs uitgelegd hoe u een dsc-configuratie (Desired State Configuration) van begin tot eind maakt en toepast. In het volgende voorbeeld leert u hoe u een zeer eenvoudige configuratie schrijft en toepast. De configuratie zorgt ervoor dat er een 'HelloWorld.txt'-bestand op uw lokale computer bestaat. Als u het bestand verwijdert, maakt DSC het opnieuw wanneer het de volgende keer wordt bijgewerkt.

Zie Desired State Configuration Overzicht voor ontwikkelaars voor een overzicht van wat DSC is en hoe het werkt.

Vereisten

Als u dit voorbeeld wilt uitvoeren, hebt u een computer met PowerShell 4.0 of hoger nodig.

De configuratie schrijven

Een DSC-configuratie is een speciale PowerShell-functie waarmee wordt gedefinieerd hoe u een of meer doelcomputers (knooppunten) wilt configureren.

Typ het volgende in de PowerShell ISE of een andere PowerShell-editor:

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!"
        }
    }
}

Belangrijk

In geavanceerdere scenario's waarin meerdere modules moeten worden geïmporteerd zodat u met veel DSC-resources in dezelfde configuratie kunt werken, moet u ervoor zorgen dat u elke module in een afzonderlijke regel plaatst met behulp van Import-DscResource. Dit is eenvoudiger te onderhouden in broncodebeheer en vereist bij het werken met DSC in Azure State Configuration.

 Configuration HelloWorld {

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

Sla het bestand op als 'HelloWorld.ps1'.

Het definiëren van een configuratie is hetzelfde als het definiëren van een functie. Het knooppuntblok geeft het doelknooppunt aan dat moet worden geconfigureerd, in dit geval localhost.

De configuratie roept één resource aan, de File resource. Resources zorgen ervoor dat het doelknooppunt de status heeft die is gedefinieerd door de configuratie.

De configuratie compileren

Als u een DSC-configuratie wilt toepassen op een knooppunt, moet deze eerst worden gecompileerd in een MOF-bestand. Als u de configuratie uitvoert, zoals een functie, wordt één .mof bestand gecompileerd voor elk knooppunt dat door het Node blok wordt gedefinieerd. Als u de configuratie wilt uitvoeren, moet u de bron van het HelloWorld.ps1 script in het huidige bereik plaatsen. Zie about_Scripts voor meer informatie.

Een puntbron voor uw HelloWorld.ps1 script door te typen in het pad waar u het hebt opgeslagen, na de . (punt, spatie). U kunt de configuratie vervolgens uitvoeren door deze aan te roepen als een functie. U kunt ook de configuratiefunctie onder aan het script aanroepen, zodat u geen puntbron hoeft te gebruiken.

. C:\Scripts\HelloWorld.ps1
HelloWorld

Hiermee wordt de volgende uitvoer gegenereerd:

Directory: C:\Scripts\HelloWorld


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

De configuratie toepassen

Nu u de gecompileerde MOF hebt, kunt u de configuratie toepassen op het doelknooppunt (in dit geval de lokale computer) door de cmdlet Start-DscConfiguration aan te roepen.

De Start-DscConfiguration cmdlet vertelt de Local Configuration Manager (LCM), de engine van DSC, om de configuratie toe te passen. De LCM roept de DSC-resources aan om de configuratie toe te passen.

Gebruik de onderstaande code om de Start-DSCConfiguration cmdlet uit te voeren. Geef het mappad op waar uw localhost.mof is opgeslagen naar de path-parameter . De Start-DSCConfiguration cmdlet zoekt door de map die is opgegeven voor alle <computername>.mof bestanden. De Start-DSCConfiguration cmdlet probeert elk .mof gevonden bestand toe te passen op de computername opgegeven door de bestandsnaam ('localhost', 'server01', 'dc-02', enzovoort).

Notitie

Als de -Wait parameter niet is opgegeven, Start-DSCConfiguration maakt u een achtergrondtaak om de bewerking uit te voeren. Als u de -Verbose parameter opgeeft, kunt u de uitgebreide uitvoer van de bewerking watch. -Waiten -Verbose zijn beide optionele parameters.

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

De configuratie testen

Zodra de Start-DSCConfiguration cmdlet is voltooid, ziet u een HelloWorld.txt bestand op de locatie die u hebt opgegeven. U kunt de inhoud controleren met de cmdlet Get-Content .

U kunt ook de huidige status testen met Test-DSCConfiguration.

De uitvoer moet zijn True als het knooppunt momenteel compatibel is met de toegepaste configuratie.

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

De configuratie opnieuw toepassen

Als u wilt zien dat uw configuratie opnieuw wordt toegepast, kunt u het tekstbestand verwijderen dat door uw configuratie is gemaakt. Gebruik de Start-DSCConfiguration cmdlet met de -UseExisting parameter . De -UseExisting parameter instrueert Start-DSCConfiguration om het bestand 'current.mof' opnieuw toe te passen, dat de meest recent toegepaste configuratie vertegenwoordigt.

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

Volgende stappen