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
- Meer informatie over DSC-configuraties vindt u in DSC-configuraties.
- Zie welke DSC-resources beschikbaar zijn en hoe u aangepaste DSC-resources maakt op DSC-resources.
- Zoek DSC-configuraties en -resources in de PowerShell Gallery.