Snabbstart – Skapa en webbplats med Desired State Configuration (DSC)

Gäller för: Windows PowerShell 4.0, Windows PowerShell 5.0

I den här övningen går vi igenom hur du skapar och tillämpar en Desired State Configuration-konfiguration (DSC) från början till slut. Exemplet vi använder säkerställer att en server har Web-Server funktionen (IIS) aktiverad och att innehållet för en enkel "Hello World"-webbplats finns i katalogen på den inetpub\wwwroot servern.

En översikt över vad DSC är och hur det fungerar finns i Desired State Configuration Översikt för beslutsfattare.

Krav

Om du vill köra det här exemplet behöver du en dator som kör Windows Server 2012 eller senare och PowerShell 4.0 eller senare.

Skriv och placera index.htm-filen

Först skapar vi HTML-filen som vi ska använda som webbplatsinnehåll.

Skapa en mapp med namnet testi rotmappen.

I en textredigerare skriver du följande text:

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

Spara detta som index.htm i mappen test som du skapade tidigare.

Skriva konfigurationen

En DSC-konfiguration är en särskild PowerShell-funktion som definierar hur du vill konfigurera en eller flera måldatorer (noder).

I PowerShell ISE skriver du följande:

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'
        }
    }
}

Spara filen som WebsiteTest.ps1.

Du kan se att det ser ut som en PowerShell-funktion, med tillägget av nyckelordet Konfiguration som används före namnet på funktionen.

Nodblocket anger vilken målnod som ska konfigureras. I det här fallet localhost.

Konfigurationen anropar två resurser, WindowsFeature och File. Resurser gör arbetet med att se till att målnoden är i det tillstånd som definieras av konfigurationen.

Kompilera konfigurationen

För att en DSC-konfiguration ska tillämpas på en nod måste den först kompileras till en MOF-fil. Det gör du genom att köra konfigurationen som en funktion. I en PowerShell-konsol navigerar du till samma mapp där du sparade konfigurationen och kör följande kommandon för att kompilera konfigurationen till en MOF-fil:

. .\WebsiteTest.ps1
WebsiteTest

Detta genererar följande utdata:

Directory: C:\ConfigurationTest\WebsiteTest


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

Den första raden gör konfigurationsfunktionen tillgänglig i -konsolen. Den andra raden kör konfigurationen. Resultatet är att en ny mapp med namnet WebsiteTest skapas som en undermapp till den aktuella mappen. Mappen WebsiteTest innehåller en fil med namnet localhost.mof. Det här är filen som sedan kan tillämpas på målnoden.

Tillämpa konfigurationen

Nu när du har den kompilerade MOF:en kan du tillämpa konfigurationen på målnoden (i det här fallet den lokala datorn) genom att anropa cmdleten Start-DscConfiguration .

Cmdleten Start-DscConfiguration instruerar den lokala Configuration Manager (LCM), som är motorn i DSC, att tillämpa konfigurationen. LCM utför arbetet med att anropa DSC-resurserna för att tillämpa konfigurationen.

Anteckning

För att DSC ska kunna köras måste Windows konfigureras för att ta emot PowerShell-fjärrkommandon, även när du kör en localhost konfiguration. För att enkelt konfigurera din miljö korrekt kör Set-WsManQuickConfig -Force du bara i en upphöjd PowerShell-terminal.

I en PowerShell-konsol navigerar du till samma mapp där du sparade konfigurationen och kör följande kommando:

Start-DscConfiguration .\WebsiteTest

Testa konfigurationen

Du kan anropa cmdleten Get-DscConfigurationStatus för att se om konfigurationen lyckades.

Du kan också testa resultaten direkt, i det här fallet genom att bläddra till http://localhost/ i en webbläsare. Du bör se HTML-sidan "Hello World" som du skapade som det första steget i det här exemplet.

Nästa steg