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 test
i 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
- Läs mer om DSC-konfigurationer i DSC-konfigurationer.
- Se vilka DSC-resurser som är tillgängliga och hur du skapar anpassade DSC-resurser på DSC-resurser.
- Hitta DSC-konfigurationer och -resurser i PowerShell-galleriet.