Delen via


Quickstart: een website maken met Desired State Configuration (DSC)

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 voorbeeld dat we gaan gebruiken, zorgt u ervoor dat op een server de Web-Server iis-functie is ingeschakeld en dat de inhoud voor een eenvoudige 'Hallo wereld'-website aanwezig is in de inetpub\wwwroot map van die server.

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

Vereisten

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

Het index.htm-bestand schrijven en plaatsen

Eerst maken we het HTML-bestand dat we gebruiken als de inhoud van de website.

Maak in de hoofdmap een map met de naam test.

Typ de volgende tekst in een teksteditor:

<head></head>
<body>
<p>Hello World!</p>
</body>

Sla deze op als index.htm in de test map die u eerder hebt gemaakt.

De configuratie schrijven

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

Typ in PowerShell ISE het volgende:

Configuration WebsiteTest {

    # Import the module that contains the resources we're using.
    Import-DscResource -ModuleName PsDesiredStateConfiguration

    # The Node statement specifies which targets this configuration will be applied to.
    Node 'localhost' {

        # The first resource block ensures that the Web-Server (IIS) feature is enabled.
        WindowsFeature WebServer {
            Ensure = "Present"
            Name   = "Web-Server"
        }

        # The second resource block ensures that the website content copied to the website root folder.
        File WebsiteContent {
            Ensure = 'Present'
            SourcePath = 'c:\test\index.htm'
            DestinationPath = 'c:\inetpub\wwwroot'
        }
    }
}

Sla het bestand op als WebsiteTest.ps1.

U kunt zien dat het lijkt op een PowerShell-functie, met de toevoeging van het trefwoord Configuratie dat wordt gebruikt vóór de naam van de functie.

Het knooppuntblok geeft het doelknooppunt aan dat moet worden geconfigureerd. In dit geval, localhost.

De configuratie roept twee resources aan: WindowsFeature en File. 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. Hiervoor voert u de configuratie uit als een functie. Navigeer in een PowerShell-console naar dezelfde map waarin u uw configuratie hebt opgeslagen en voer de volgende opdrachten uit om de configuratie te compileren in een MOF-bestand:

. .\WebsiteTest.ps1
WebsiteTest

Hiermee wordt de volgende uitvoer gegenereerd:

Directory: C:\ConfigurationTest\WebsiteTest


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

De eerste regel maakt de configuratiefunctie beschikbaar in de console. De tweede regel voert de configuratie uit. Het resultaat is dat een nieuwe map met de naam WebsiteTest wordt gemaakt als een submap van de huidige map. De WebsiteTest map bevat een bestand met de naam localhost.mof. Dit is het bestand dat vervolgens kan worden toegepast op het doelknooppunt.

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.

Notitie

Als u wilt toestaan dat DSC wordt uitgevoerd, moet Windows worden geconfigureerd voor het ontvangen van externe PowerShell-opdrachten, zelfs wanneer u een localhost configuratie uitvoert. Als u uw omgeving eenvoudig correct wilt configureren, voert u uit Set-WsManQuickConfig -Force in een PowerShell-terminal met verhoogde bevoegdheid.

Navigeer in een PowerShell-console naar dezelfde map waarin u uw configuratie hebt opgeslagen en voer de volgende opdracht uit:

Start-DscConfiguration .\WebsiteTest

De configuratie testen

U kunt de cmdlet Get-DscConfigurationStatus aanroepen om te zien of de configuratie is geslaagd.

U kunt de resultaten ook rechtstreeks testen, in dit geval door naar te http://localhost/ bladeren in een webbrowser. Als het goed is, ziet u de HTML-pagina 'Hallo wereld' die u als eerste stap in dit voorbeeld hebt gemaakt.

Volgende stappen