DSC gebruiken om Windows Server te configureren

Voltooid

Een van de andere serverbeheerders bij Contoso is ervaren met Windows PowerShell en u hebt voorgesteld om powerShell DSC te gebruiken om uw zojuist geïmplementeerde Windows Server-computers te configureren. U leert dat u met DSC declaratief configuratiebeheer kunt implementeren via een combinatie van PowerShell-scripts en besturingssysteemfuncties. U besluit verder te onderzoeken.

Notitie

Een declaratieve programmeertaal scheidt de intentie (wat u wilt doen) van uitvoering (hoe wilt u dit doen).

Wat is DSC?

DSC is een powerShell-beheerplatform dat u kunt gebruiken om uw servers en gerelateerde IT-infrastructuur te beheren. DSC bestaat uit drie onderdelen, zoals beschreven in de volgende tabel.

Onderdeel Beschrijving
Configuraties Declaratieve PowerShell-scripts die uw resources configureren en definiëren. Wanneer de configuratie wordt uitgevoerd, past DSC de configuratie toe zoals gedefinieerd. Dit zorgt ervoor dat de doelresource, in dit geval een server, de gedefinieerde status heeft. Het is de Local Configuration Manager (LCM) die deze configuraties toepast en onderhoudt.
Resources Bevat de code die de gewenste configuratiestatus van de resource definieert en toepast.
LCM Is de engine die DSC gebruikt om de configuraties toe te passen. Periodiek controleert de LCM de status van het systeem en indien nodig roept de code in resources aan om de gewenste status opnieuw toe te passen.

Notitie

U hoeft niets te installeren om DSC te gebruiken; PowerShell DSC is opgenomen in Windows.

Op Windows gebaseerde DSC is uitgebreid afhankelijk van het LCM-onderdeel. Dit onderdeel fungeert als de uitvoeringsengine van de Windows PowerShell DSC-scripts.

Notitie

LCM is een integraal onderdeel van alle momenteel ondersteunde versies van Windows-besturingssystemen.

LCM is verantwoordelijk voor:

  • De implementatie van instellingen coördineren die zijn gedefinieerd in DSC-scripts
  • De doorlopende status van deze instellingen bewaken
  • De status van een computer bijwerken zodat deze overeenkomt met de gewenste status

Elke keer dat LCM wordt uitgevoerd, worden de volgende stappen doorlopen:

  1. Ophalen: Haalt de huidige status van de computer op.
  2. Test: Vergelijkt de huidige status van de computer met behulp van een gecompileerd DSC-script (een .mof-bestand).
  3. Set: Hiermee wordt de configuratie van de computer bijgewerkt zodat deze overeenkomt met de gewenste status die wordt beschreven in het .mof-bestand.

U kunt DSC-configuratie implementeren in de push- of pull-modus, zoals beschreven in de volgende tabel.

Modus Beschrijving
Push In deze modus verzendt of pusht u handmatig de gewenste configuraties naar een of meer beheerde computers. Het LCM-onderdeel zorgt ervoor dat de status op elke beheerde computer overeenkomt met wat uw configuratie aangeeft.
Pull In deze modus bevat een pull-server uw configuratiegegevens. Het LCM-onderdeel op elke beheerde computer peilt de pull-server periodiek (de standaardinstelling is intervallen van 15 minuten) om de meest recente configuratiegegevens op te halen. De pull-server verzendt vervolgens de details over configuratiewijzigingen terug naar elke beheerde computer.

Tip

Hoewel u een Windows Server kunt instellen als pull-server, kunt u ook Azure Automation Desired State Configuration gebruiken.

Vereisten voor DSC met Windows

Er zijn een aantal vereisten waaraan uw omgeving moet voldoen om DSC met Windows te kunnen gebruiken. De volgende stappen moeten worden uitgevoerd:

  • Besturingssysteem. Op de beheerde computers moet Windows 8.1 of hoger of Windows Server 2012 R2 of hoger worden uitgevoerd.
  • Windows Remote Management. Windows Remote Management (WinRM) moet zijn ingeschakeld op beheerde computers.

Met DSC kunt u de gewenste status van:

  • Een besturingssysteem
  • Een toepassing

Werken met scripts

U kunt een script gebruiken om uw DSC te definiëren. Nadat u de configuratie hebt gemaakt en gecompileerd, kunt u deze toewijzen aan computers die die configuratie vervolgens ontvangen.

Een script maken

De DSC-implementatie begint vaak met het maken van een configuratiescript (.ps1) dat die gewenste status beschrijft. Het volgende voorbeeld is een eenvoudig voorbeeld van een configuratie. In dit geval controleert het script op de aanwezigheid van Internet Information Service (IIS) en installeert het indien nodig.

configuration IISInstall
{
    # Import the required module.
    Import-DscResource -ModuleName PsDesiredStateConfiguration
    node "localhost"
    {
        WindowsFeature IIS
        {
            Ensure = "Present"
            Name = "Web-Server"
        }
    }
}

Nadat u het script hebt gemaakt, slaat u het op. Sla deze in dit geval op als IISInstall.ps1.

De configuratie compileren

Nadat u een configuratiescript hebt gemaakt, moet u het compileren. Compilatie genereert een of meer .mof-bestanden die configuraties bevatten die van toepassing zijn op doelknooppunten. Als u een script wilt compileren, zoekt u in een PowerShell-console de map waarin u uw configuratie (scriptbestand) hebt opgeslagen en voert u de volgende opdrachten uit om de configuratie te compileren in een MOF-bestand:

.\IISInstall.ps1
IISInstall

De configuratie toepassen

De volgende stap bestaat uit het toepassen van de configuratie. U doet dit door de Start-DscConfiguration cmdlet uit te voeren.

Belangrijk

Als u DSC wilt toestaan om uit te voeren, moet u Windows configureren voor externe communicatie met PowerShell, zelfs wanneer u een localhost-configuratie uitvoert.

Navigeer bijvoorbeeld in een PowerShell-console naar de map waarin de configuratie is opgeslagen en voer de volgende PowerShell-opdracht uit:

Start-DscConfiguration .\IISInstall

Tip

U kunt controleren of de configuratie is geslaagd door de cmdlet uit te Get-DscConfigurationStatus voeren.