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

Van toepassing op: Windows PowerShell 4.0, Windows PowerShell 5.0

In deze oefening wordt het maken en toepassen van een Desired State Configuration configuratie (DSC) van begin tot eind belijnd. Het voorbeeld dat we gebruiken, zorgt ervoor dat de functie (IIS) van een server is ingeschakeld en dat de inhoud voor een eenvoudige Hallo wereld-website aanwezig is in de map van die Web-Server inetpub\wwwroot server.

Zie Overzicht voor besluitvormers voor een overzicht van wat DSC is Desired State Configuration 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 schrijven en plaatsen

Eerst maken we het HTML-bestand dat we gaan 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 index.htm als in de map die u eerder hebt test gemaakt.

De configuratie schrijven

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

Typ het volgende in PowerShell ISE:

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 eruitziet als een PowerShell-functie, met toevoeging van het trefwoord Configuratie dat wordt gebruikt vóór de naam van de functie.

Het knooppuntblok specificeert het doel-knooppunt dat moet worden geconfigureerd. In dit geval, localhost.

De configuratie roept twee resources aan: WindowsFeature en File. Resources zorgen ervoor dat het doel-knooppunt 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 moet u de configuratie uitvoeren als een functie. Navigeer in een PowerShell-console naar dezelfde map waarin u de 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 doel-knooppunt.

De configuratie toepassen

Nu u de gecompileerde MOF hebt, kunt u de configuratie toepassen op het doel-knooppunt (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. LCM roept de DSC-resources aan om de configuratie toe te passen.

Notitie

Als u wilt dat DSC kan worden uitgevoerd, Windows geconfigureerd om externe PowerShell-opdrachten te ontvangen, zelfs wanneer u een configuratie localhost gebruikt. Als u uw omgeving eenvoudig op de juiste manier wilt configureren, kunt u deze Set-WsManQuickConfig -Force uitvoeren in een PowerShell-terminal met verhoogde bevoegdheid.

Navigeer in een PowerShell-console naar dezelfde map waarin u de 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 in een webbrowser http://localhost/ naar te bladeren. De HTML-pagina 'Hallo wereld' die u hebt gemaakt, ziet u als de eerste stap in dit voorbeeld.

Volgende stappen