Konfigurera en virtuell dator vid den första starten med hjälp av DSC

Viktigt

Gäller för: Windows PowerShell 5.0

Krav

Anteckning

Registernyckeln DSCAutomationHostEnabled som beskrivs i det här avsnittet är inte tillgänglig i PowerShell 4.0. Information om hur du konfigurerar nya virtuella datorer vid den första starten i PowerShell 4.0 finns i Vill du konfigurera dina datorer automatiskt med DSC vid den första starten?

Om du vill köra de här exemplen behöver du:

  • En startbar virtuell hårddisk att arbeta med. Du kan ladda ned en ISO med en utvärderingskopia av Windows Server 2016 på Evaluation Center. Du hittar instruktioner om hur du skapar en virtuell hårddisk från en ISO-avbildning i Skapa startbara virtuella hårddiskar.

  • En värddator som har Hyper-V aktiverat. Mer information finns i Översikt över Hyper-V.

    Med hjälp av DSC kan du automatisera installationen och konfigurationen av programvara för en dator vid den första starten. Du gör detta genom att antingen mata in ett MOF-konfigurationsdokument eller en metakonfiguration i startbara medier (till exempel en virtuell hårddisk) så att de körs under den första startprocessen. Det här beteendet anges av registernyckelnyckeln DSCAutomationHostEnabled under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System. Som standard är värdet för den här nyckeln 2, vilket gör att DSC kan köras vid start.

    Om du inte vill att DSC ska köras vid start anger du värdet för registernyckeln DSCAutomationHostEnabled till 0.

  • Mata in ett MOF-konfigurationsdokument i en virtuell hårddisk

  • Mata in en DSC-metakonfiguration i en virtuell hårddisk

  • Inaktivera DSC vid start

Anteckning

Du kan mata in både Pending.mof och MetaConfig.mof i en dator på samma gång. Om båda filerna finns har de inställningar som anges i MetaConfig.mof företräde.

Mata in ett MOF-konfigurationsdokument i en virtuell hårddisk

Om du vill implementera en konfiguration vid den första starten kan du mata in ett kompilerat MOF-konfigurationsdokument i den virtuella hårddisken som fil Pending.mof . Om registernyckeln DSCAutomationHostEnabled är inställd på 2 (standardvärdet) tillämpar DSC konfigurationen som definieras av Pending.mof när datorn startas för första gången.

I det här exemplet använder vi följande konfiguration, som installerar IIS på den nya datorn:

Configuration SampleIISInstall
{
    Import-DscResource -ModuleName 'PSDesiredStateConfiguration'

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

Så här matar du in MOF-konfigurationsdokumentet på den virtuella hårddisken

  1. Montera den virtuella hårddisk som du vill mata in konfigurationen i genom att anropa cmdleten Mount-VHD . Exempel:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Spara ovanstående konfiguration (SampleIISInstall) som en PowerShell-skriptfil (.ps1) på en dator som kör PowerShell 5.0 eller senare.

  3. I en PowerShell-konsol navigerar du till mappen där du sparade .ps1 filen.

  4. Kör följande PowerShell-kommandon för att kompilera MOF-dokumentet (information om hur du kompilerar DSC-konfigurationer finns i DSC-konfigurationer:

    . .\SampleIISInstall.ps1
    SampleIISInstall
    
  5. Då skapas en localhost.mof fil i en ny mapp med namnet SampleIISInstall. Byt namn på och flytta filen till rätt plats på den virtuella hårddisken som Pending.mof med hjälp av cmdleten Move-Item . Exempel:

    Move-Item -Path C:\DSCTest\SampleIISInstall\localhost.mof -Destination E:\Windows\System32\Configuration\Pending.mof
    
  6. Demontera den virtuella hårddisken genom att anropa cmdleten Dismount-VHD . Exempel:

    Dismount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  7. Skapa en virtuell dator med hjälp av den virtuella hårddisken där du installerade DSC MOF-dokumentet.

Efter den första start- och operativsysteminstallationen installeras IIS. Du kan kontrollera detta genom att anropa cmdleten Get-WindowsFeature .

Mata in en DSC-metakonfiguration i en virtuell hårddisk

Du kan också konfigurera en dator för att hämta en konfiguration vid den första starten genom att mata in en metakonfiguration (se Konfigurera den lokala Configuration Manager (LCM)) i den virtuella hårddisken som dess MetaConfig.mof fil. Om registernyckeln DSCAutomationHostEnabled är inställd på 2 (standardvärdet) tillämpar DSC metakonfigurationen som definieras av MetaConfig.mof på LCM när datorn startas för första gången. Om metakonfigurationen anger att LCM ska hämta konfigurationer från en hämtningsserver försöker datorn hämta en konfiguration från den hämtningsservern vid den första starten. Information om hur du konfigurerar en DSC-hämtningsserver finns i Konfigurera en DSC-webbhämtningsserver.

I det här exemplet använder vi både konfigurationen som beskrivs i föregående avsnitt (SampleIISInstall) och följande metakonfiguration:

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

Så här matar du in MOF-dokumentet för metakonfiguration på den virtuella hårddisken

  1. Montera den virtuella hårddisk som du vill mata in metakonfigurationen i genom att anropa cmdleten Mount-VHD . Exempel:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Konfigurera en DSC-webbhämtningsserver och spara sampleIISInstall-konfigurationen i lämplig mapp.

  3. På en dator som kör PowerShell 5.0 eller senare sparar du ovanstående metakonfiguration (PullClientBootstrap) som en PowerShell-skriptfil (.ps1).

  4. I en PowerShell-konsol navigerar du till mappen där du sparade .ps1 filen.

  5. Kör följande PowerShell-kommandon för att kompilera MOF-dokumentet för metakonfiguration (information om hur du kompilerar DSC-konfigurationer finns i DSC-konfigurationer:

    . .\PullClientBootstrap.ps1
    PullClientBootstrap
    
  6. Då skapas en localhost.meta.mof fil i en ny mapp med namnet PullClientBootstrap. Byt namn på och flytta filen till rätt plats på den virtuella hårddisken som MetaConfig.mof med hjälp av cmdleten Move-Item .

    Move-Item -Path C:\DSCTest\PullClientBootstrap\localhost.meta.mof -Destination E:\Windows\System32\Configuration\MetaConfig.mof
    
  7. Demontera den virtuella hårddisken genom att anropa cmdleten Dismount-VHD . Exempel:

    Dismount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  8. Skapa en virtuell dator med hjälp av den virtuella hårddisken där du installerade DSC MOF-dokumentet.

Efter den första start- och operativsysteminstallationen hämtar DSC konfigurationen från hämtningsservern och IIS installeras. Du kan kontrollera detta genom att anropa cmdleten Get-WindowsFeature .

Inaktivera DSC vid start

Som standard är värdet för HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DSCAutomationHostEnabled nyckeln är inställd på 2, vilket gör att en DSC-konfiguration kan köras om datorn är i väntande eller aktuellt tillstånd. Om du inte vill att en konfiguration ska köras vid den första starten behöver du ange värdet för den här nyckeln till 0:

  1. Montera den virtuella hårddisken genom att anropa cmdleten Mount-VHD . Exempel:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Läs in registerundernyckeln HKLM\Software från den virtuella hårddisken genom att anropa reg load.

    reg load HKLM\Vhd E:\Windows\System32\Config\Software
    
  3. Ändra värdet DSCAutomationHostEnabled för till 0 i den inlästa registreringsdatafilen.

    reg add "HKLM\Vhd\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DSCAutomationHostEnabled /t REG_DWORD /d 0 /f
    
  4. Ta bort registret genom att köra följande kommandon:

    reg unload HKLM\Vhd
    

Se även

DSC-konfigurationer

DSCAutomationHostEnabled-registernyckel

Konfigurera den lokala konfigurationshanteraren (LCM)

Konfigurera en DSC-webbhämtningsserver