Een virtuele machine configureren bij de eerste keer opstarten met behulp van DSCConfigure a virtual machines at initial boot-up by using DSC

Belangrijk

Van toepassing op: Windows PowerShell 5.0Applies To: Windows PowerShell 5.0

VereistenRequirements

Notitie

De DSCAutomationHostEnabled registersleutel die worden beschreven in dit onderwerp is niet beschikbaar in PowerShell 4.0.The DSCAutomationHostEnabled registry key described in this topic is not available in PowerShell 4.0. Zie voor informatie over het configureren van nieuwe virtuele machines bij de eerste keer opstarten in PowerShell 4.0 [wilt automatisch configureren van uw Machines met behulp van DSC bij de eerste keer opstarten?] > ()https://blogs.msdn.microsoft.com/powershell/2014/02/28/want-to-automatically-configure-your-machines-using-dsc-at-initial-boot-up/)For information on how to configure new virtual machines at initial boot-up in PowerShell 4.0, see [Want to Automatically Configure Your Machines Using DSC at Initial Boot-up?]> (https://blogs.msdn.microsoft.com/powershell/2014/02/28/want-to-automatically-configure-your-machines-using-dsc-at-initial-boot-up/)

Om uit te voeren van deze voorbeelden, hebt u het volgende nodig:To run these examples, you will need:

  • Een opstartbare virtuele harde schijf om te werken met.A bootable VHD to work with. U kunt een ISO met een evaluatieversie van Windows Server 2016 op downloaden TechNet Evaluation Center.You can download an ISO with an evaluation copy of Windows Server 2016 at TechNet Evaluation Center. U vindt instructies over het maken van een VHD van een ISO-installatiekopie op opstartbare virtuele Hardeschijven maken.You can find instructions on how to create a VHD from an ISO image at Creating Bootable Virtual Hard Disks.
  • Een hostcomputer waarop Hyper-V is ingeschakeld.A host computer that has Hyper-V enabled. Zie voor meer informatie, overzicht van Hyper-V.For information, see Hyper-V overview.

    U kunt software-installatie en configuratie voor een computer bij de eerste keer opstarten automatiseren met behulp van DSC.By using DSC, you can automate software installation and configuration for a computer at initial boot-up. U doen dit door een van beide injecteren van een MOF-configuratiebestand of een metaconfiguration in opstartbare media (zoals een VHD) zodat ze worden uitgevoerd tijdens de eerste keer opstarten.You do this by either injecting a configuration MOF document or a metaconfiguration into bootable media (such as a VHD) so that they are run during the initial boot-up process. Dit gedrag is opgegeven door de de registersleutel dscautomationhostenabled registersleutel onder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies.This behavior is specified by the DSCAutomationHostEnabled registry key registry key under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies. Standaard is de waarde van deze sleutel 2, waarmee DSC om uit te voeren bij het opstarten.By default, the value of this key is 2, which allows DSC to run at boot time.

    Als u niet dat DSC om uit te voeren bij het opstarten wilt, stel de waarde van de de registersleutel dscautomationhostenabled registersleutel in op 0.If you do not want DSC to run at boot time, set the value of the DSCAutomationHostEnabled registry key registry key to 0.

  • Een MOF-configuratiebestand invoeren in een VHDInject a configuration MOF document into a VHD

  • Een DSC-metaconfiguration invoeren in een VHDInject a DSC metaconfiguration into a VHD
  • DSC bij het opstarten uitschakelenDisable DSC at boot time

Notitie

U kunt beide invoeren Pending.mof en MetaConfig.mof bij een computer op hetzelfde moment.You can inject both Pending.mof and MetaConfig.mof into a computer at the same time. Als beide bestanden aanwezig zijn, de instellingen zijn opgegeven in MetaConfig.mof voorrang.If both files are present, the settings specified in MetaConfig.mof take precedence.

Een MOF-configuratiebestand invoeren in een VHDInject a configuration MOF document into a VHD

Als u wilt een configuratie bij de eerste keer opstarten gerapporteerd, kunt u een gecompileerde configuratie MOF-document invoeren in de VHD als de Pending.mof bestand.To enact a configuration at initial boot-up, you can inject a compiled configuration MOF document into the VHD as its Pending.mof file. Als de DSCAutomationHostEnabled registersleutel is ingesteld op 2 (standaardwaarde), DSC geldt de configuratie die is gedefinieerd door Pending.mof wanneer de computer voor de eerste keer wordt opgestart.If the DSCAutomationHostEnabled registry key is set to 2 (the default value), DSC will apply the configuration defined by Pending.mof when the computer boots up for the first time.

Voor dit voorbeeld gebruiken we de volgende configuratie, waarop IIS wordt geïnstalleerd op de nieuwe computer:For this example, we will use the following configuration, which will install IIS on the new computer:

Configuration SampleIISInstall
{
    Import-DscResource -ModuleName 'PSDesiredStateConfiguration'

    node ('localhost')
    {
        WindowsFeature IIS
        {
            Ensure = 'Present'
            Name   = 'Web-Server'
        }
    }
}

Naar het MOF-configuratiebestand op de VHD invoerenTo inject the configuration MOF document on the VHD

  1. Koppel de VHD waarnaar u invoeren van de configuratie wilt door het aanroepen van de VHD koppelen cmdlet.Mount the VHD into which you want to inject the configuration by calling the Mount-VHD cmdlet. Bijvoorbeeld:For example:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Op een computer waarop PowerShell 5.0 of hoger, sla de bovenstaande configuratie (SampleIISInstall) als een PowerShell-script (.ps1)-bestand.On a computer running PowerShell 5.0 or later, save the above configuration (SampleIISInstall) as a PowerShell script (.ps1) file.

  3. Navigeer naar de map waar u de .ps1-bestand hebt opgeslagen in een PowerShell-console.In a PowerShell console, navigate to the folder where you saved the .ps1 file.

  4. Voer de volgende PowerShell-opdrachten voor het compileren van het MOF-document (Zie voor meer informatie over DSC-configuraties compileren DSC-configuraties:Run the following PowerShell commands to compile the MOF document (for information about compiling DSC configurations, see DSC Configurations:

    . .\SampleIISInstall.ps1
    SampleIISInstall
    
  5. Hiermee maakt u een localhost.mof bestand in een nieuwe map met de naam SampleIISInstall.This will create a localhost.mof file in a new folder named SampleIISInstall. Wijzig de naam en dat bestand verplaatsen naar de juiste locatie op de VHD als Pending.mof met behulp van de Item verplaatsen cmdlet.Rename and move that file into the proper location on the VHD as Pending.mof by using the Move-Item cmdlet. Bijvoorbeeld:For example:

        Move-Item -Path C:\DSCTest\SampleIISInstall\localhost.mof -Destination E:\Windows\System32\Configuration\Pending.mof
    
  6. Ontkoppelen van de VHD door het aanroepen van de Dismount-VHD cmdlet.Dismount the VHD by calling the Dismount-VHD cmdlet. Bijvoorbeeld:For example:

    Dismount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  7. Een virtuele machine maken met behulp van de installatie van de DSC MOF-document VHD.Create a VM by using the VHD where you installed the DSC MOF document.

Na het eerste boot-up en installatie van besturingssysteem, wordt IIS geïnstalleerd.After intial boot-up and operating system installation, IIS will be installed. U kunt dit controleren door het aanroepen van de Get-WindowsFeature cmdlet.You can verify this by calling the Get-WindowsFeature cmdlet.

Een DSC-metaconfiguration invoeren in een VHDInject a DSC metaconfiguration into a VHD

U kunt ook een computer om op te halen van een configuratie bij de eerste keer opstarten door het injecteren van een metaconfiguration configureren (Zie de lokale Configuration Manager (LCM) configureren) in de VHD als de MetaConfig.mof bestand.You can also configure a computer to pull a configuration at intial boot-up by injecting a metaconfiguration (see Configuring the Local Configuration Manager (LCM)) into the VHD as its MetaConfig.mof file. Als de DSCAutomationHostEnabled registersleutel is ingesteld op 2 (standaardwaarde), DSC geldt de metaconfiguration gedefinieerd door MetaConfig.mof naar de LCM wanneer de computer voor de eerste keer wordt opgestart.If the DSCAutomationHostEnabled registry key is set to 2 (the default value), DSC will apply the metaconfiguration defined by MetaConfig.mof to the LCM when the computer boots up for the first time. Als de metaconfiguration geeft aan dat de LCM-configuraties van een pull-server moet halen, probeert de computer voor het ophalen van een configuratie van die pull-server bij de eerste keer opstarten.If the metaconfiguration specifies that the LCM should pull configurations from a pull server, the computer will attempt to pull a configuration from that pull server at inital boot-up. Zie voor meer informatie over het instellen van een DSC-pull-server instellen van een DSC-pull-endwebserver.For information about setting up a DSC pull server, see Setting up a DSC web pull server.

Voor dit voorbeeld gebruiken we zowel de configuratie wordt beschreven in de vorige sectie (SampleIISInstall), en de volgende metaconfiguration:For this example, we will use both the configuration described in the previous section (SampleIISInstall), and the following metaconfiguration:

[DSCLocalConfigurationManager()]
configuration PullClientBootstrap
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }
        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
            RegistrationKey = '140a952b-b9d6-406b-b416-e0f759c9c0e4'
            ConfigurationNames = @('SampleIISInstall')
        }
    }
}

Aan de metaconfiguration MOF-document op de VHD invoerenTo inject the metaconfiguration MOF document on the VHD

  1. Koppel de VHD waarnaar u de metaconfiguration invoeren wilt door het aanroepen van de VHD koppelen cmdlet.Mount the VHD into which you want to inject the metaconfiguration by calling the Mount-VHD cmdlet. Bijvoorbeeld:For example:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Instellen van een DSC-pull-endwebserver, en sla de SampleIISInistall configuratie naar de juiste map.Set up a DSC web pull server, and save the SampleIISInistall configuration to the appropriate folder.

  3. Op een computer waarop PowerShell 5.0 of hoger, sla de bovenstaande metaconfiguration (PullClientBootstrap) als een PowerShell-script (.ps1)-bestand.On a computer running PowerShell 5.0 or later, save the above metaconfiguration (PullClientBootstrap) as a PowerShell script (.ps1) file.

  4. Navigeer naar de map waar u de .ps1-bestand hebt opgeslagen in een PowerShell-console.In a PowerShell console, navigate to the folder where you saved the .ps1 file.

  5. Voer de volgende PowerShell-opdrachten voor het compileren van het metaconfiguration MOF-document (Zie voor meer informatie over DSC-configuraties compileren DSC-configuraties:Run the following PowerShell commands to compile the metaconfiguration MOF document (for information about compiling DSC configurations, see DSC Configurations:

    . .\PullClientBootstrap.ps1
    PullClientBootstrap
    
  6. Hiermee maakt u een localhost.meta.mof bestand in een nieuwe map met de naam PullClientBootstrap.This will create a localhost.meta.mof file in a new folder named PullClientBootstrap. Wijzig de naam en dat bestand verplaatsen naar de juiste locatie op de VHD als MetaConfig.mof met behulp van de Item verplaatsen cmdlet.Rename and move that file into the proper location on the VHD as MetaConfig.mof by using the Move-Item cmdlet.

    Move-Item -Path C:\DSCTest\PullClientBootstrap\localhost.meta.mof -Destination E:\Windows\System32\Configuration\MetaConfig.mof
    
  7. Ontkoppelen van de VHD door het aanroepen van de Dismount-VHD cmdlet.Dismount the VHD by calling the Dismount-VHD cmdlet. Bijvoorbeeld:For example:

    Dismount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  8. Een virtuele machine maken met behulp van de installatie van de DSC MOF-document VHD.Create a VM by using the VHD where you installed the DSC MOF document.

Na het eerste boot-up en installatie van besturingssysteem, DSC klikt, wordt de configuratie van de pull-server en IIS wordt geïnstalleerd.After intial boot-up and operating system installation, DSC will pull the configuration from the pull server, and IIS will be installed. U kunt dit controleren door het aanroepen van de Get-WindowsFeature cmdlet.You can verify this by calling the Get-WindowsFeature cmdlet.

DSC bij het opstarten uitschakelenDisable DSC at boot time

Standaard is de waarde van de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DSCAutomationHostEnabled sleutel is ingesteld op 2, waarmee een DSC-configuratie voor het uitvoeren als de computer is in behandeling of de huidige status.By default, the value of the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DSCAutomationHostEnabled key is set to 2, which allows a DSC configuration to run if the computer is in pending or current state. Als u niet dat een configuratie om uit te voeren bij de eerste keer opstarten wilt, moet u dus de waarde van deze sleutel instellen op 0:If you do not want a configuration to run at initial boot-up, you need so set the value of this key to 0:

  1. De VHD koppelen door het aanroepen van de VHD koppelen cmdlet.Mount the VHD by calling the Mount-VHD cmdlet. Bijvoorbeeld:For example:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Laden van het register HKLM\Software subsleutel van de VHD door het aanroepen van reg load.Load the registry HKLM\Software subkey from the VHD by calling reg load.

    reg load HKLM\Vhd E:\Windows\System32\Config\Software`
    
  3. Navigeer naar de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\* met behulp van de PowerShell-registerprovider.Navigate to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\* by using the PowerShell Registry provider.

    Set-Location HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies`
    
  4. Wijzig de waarde van DSCAutomationHostEnabled op 0.Change the value of DSCAutomationHostEnabled to 0.

    Set-ItemProperty -Path . -Name DSCAutomationHostEnabled -Value 0
    
  5. Het register verwijderen door het uitvoeren van de volgende opdrachten:Unload the registry by running the following commands:

    [gc]::Collect()
    reg unload HKLM\Vhd
    

Zie ookSee Also

DSC-configuratiesDSC Configurations

De registersleutel DSCAutomationHostEnabledDSCAutomationHostEnabled registry key

De Local Configuration Manager (LCM) configurerenConfiguring the Local Configuration Manager (LCM)

Instellen van een DSC-pull-endwebserverSetting up a DSC web pull server