Aplica-se a: Windows PowerShell 5.0Applies To: Windows PowerShell 5.0

Observação: a chave do Registro DSCAutomationHostEnabled descrita neste tópico não está disponível no PowerShell 4.0.Note: The DSCAutomationHostEnabled registry key described in this topic is not available in PowerShell 4.0. Para obter informações sobre como configurar novas máquinas virtuais na inicialização inicial no PowerShell 4.0, veja Want to Automatically Configure Your Machines Using DSC at Initial Boot-up? (Deseja configurar seus computadores automaticamente usando DSC na inicialização inicial?)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?

Configurar uma máquina virtual na inicialização inicial usando DSCConfigure a virtual machines at initial boot-up by using DSC

RequisitosRequirements

Para executar esses exemplos, você precisará de:To run these examples, you will need:

Usando o DSC, você pode automatizar a instalação e a configuração de software em um computador na inicialização inicial.By using DSC, you can automate software installation and configuration for a computer at initial boot-up. Você faz isso inserindo um documento MOF de configuração ou então uma metaconfiguração em uma mídia inicializável (como um VHD), de modo que eles sejam executados durante o processo inicial de inicialização.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. Esse comportamento é especificado pela chave do Registro DSCAutomationHostEnabled em 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. Por padrão, o valor dessa chave é 2, o que permite que o DSC seja executado no momento da inicialização.By default, the value of this key is 2, which allows DSC to run at boot time.

Se você não quiser que o DSC seja executado no momento da inicialização, defina o valor da chave do Registro DSCAutomationHostEnabled como 0.If you do not want DSC to run at boot time, set the value of the DSCAutomationHostEnabled registry key registry key to 0.

  • Inserir um documento MOF de configuração em um VHDInject a configuration MOF document into a VHD
  • Inserir uma metaconfiguração DSC em um VHDInject a DSC metaconfiguration into a VHD
  • Desabilite a DSC no momento da inicializaçãoDisable DSC at boot time

Observação: você pode inserir tanto Pending.mof quanto MetaConfig.mof em um computador simultaneamente.Note: You can inject both Pending.mof and MetaConfig.mof into a computer at the same time. Se ambos os arquivos estiverem presentes, as configurações especificadas em MetaConfig.mof têm precedência.If both files are present, the settings specified in MetaConfig.mof take precedence.

Inserir um documento MOF de configuração em um VHDInject a configuration MOF document into a VHD

Para aplicar uma configuração na inicialização inicial, você pode inserir um documento MOF configuração compilado no VHD como seu arquivo Pending.mof.To enact a configuration at initial boot-up, you can inject a compiled configuration MOF document into the VHD as its Pending.mof file. Se a chave do Registro DSCAutomationHostEnabled estiver definida como 2 (o valor padrão), o DSC aplicará a configuração definida por Pending.mof quando o computador for inicializado pela primeira vez.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.

Neste exemplo, usaremos a configuração a seguir, que instalará o IIS no novo computador: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'
        }
    }
}

Para inserir o documento de configuração de MOF no VHDTo inject the configuration MOF document on the VHD

  1. Chamando o cmdlet Mount-VHD, monte o VHD no qual você deseja inserir a configuração.Mount the VHD into which you want to inject the configuration by calling the Mount-VHD cmdlet. Por exemplo:For example:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Em um computador executando o PowerShell 5.0 ou posterior, salve a configuração acima (SampleIISInstall) como um arquivo de script (.ps1) do PowerShell.On a computer running PowerShell 5.0 or later, save the above configuration (SampleIISInstall) as a PowerShell script (.ps1) file.

  3. No console do PowerShell, navegue até a pasta na qual você salvou o arquivo .ps1.In a PowerShell console, navigate to the folder where you saved the .ps1 file.

  4. Execute os seguintes comandos do PowerShell para compilar o documento MOF (para obter informações sobre compilação de configurações DSC, consulte Configurações DSC):Run the following PowerShell commands to compile the MOF document (for information about compiling DSC configurations, see DSC Configurations:

    . .\SampleIISInstall.ps1
    SampleIISInstall
    
  5. Isso criará um arquivo localhost.mof em uma nova pasta chamada SampleIISInstall.This will create a localhost.mof file in a new folder named SampleIISInstall. Renomear e mover esse arquivo para o local apropriado no VHD como Pending.mof, usando o cmdlet Move-Item.Rename and move that file into the proper location on the VHD as Pending.mof by using the Move-Item cmdlet. Por exemplo:For example:

        Move-Item -Path C:\DSCTest\SampleIISInstall\localhost.mof -Destination E:\Windows\Sytem32\Configuration\Pending.mof
    
  6. Chamando o cmdlet Dismount-VHD, desmonte o VHD.Dismount the VHD by calling the Dismount-VHD cmdlet. Por exemplo:For example:

    Dismount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  7. Crie uma VM usando o VHD no qual você instalou o documento MOF do DSC.Create a VM by using the VHD where you installed the DSC MOF document. Após a inicialização inicial e instalação do sistema operacional, o IIS será instalado.After intial boot-up and operating system installation, IIS will be installed. Você pode verificar isso chamando o cmdlet Get-WindowsFeature.You can verify this by calling the Get-WindowsFeature cmdlet.

Inserir uma metaconfiguração DSC em um VHDInject a DSC metaconfiguration into a VHD

Você também pode configurar um computador para receber uma configuração na inicialização inicial, inserindo uma metaconfiguração (veja Configuring the Local Configuration Manager (LCM) (Configurando o LCM (Gerenciador de Configurações Local)) no VHD como seu arquivo MetaConfig.mof.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. Se a chave do Registro DSCAutomationHostEnabled estiver definida como 2 (o valor padrão), o DSC aplicará a metaconfiguração definida por MetaConfig.mof ao LCM quando o computador for inicializado pela primeira vez.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. Se a metaconfiguração especificar que o LCM deve obter configurações de um servidor de recepção, o computador tentará efetuar pull de uma configuração do servidor de pull na inicialização inicial.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. Para obter informações sobre a configuração de um servidor de pull de DSC, consulte Configurando um servidor de pull da Web de DSC.For information about setting up a DSC pull server, see Setting up a DSC web pull server.

Neste exemplo, usaremos a configuração descrita na seção anterior (SampleIISInstall) e a metaconfiguração a seguir: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')
        }
    }
}

Para inserir o documento MOF de metaconfiguração no VHDTo inject the metaconfiguration MOF document on the VHD

  1. Chamando o cmdlet Mount-VHD, monte o VHD no qual você deseja inserir a metaconfiguração.Mount the VHD into which you want to inject the metaconfiguration by calling the Mount-VHD cmdlet. Por exemplo:For example:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Configure um servidor de pull da Web e salve a configuração SampleIISInistall na pasta apropriada.Set up a DSC web pull server, and save the SampleIISInistall configuration to the appropriate folder.

  3. Em um computador executando o PowerShell 5.0 ou posterior, salve a metaconfiguração acima (PullClientBootstrap) como um arquivo de script do PowerShell (.ps1).On a computer running PowerShell 5.0 or later, save the above metaconfiguration (PullClientBootstrap) as a PowerShell script (.ps1) file.

  4. No console do PowerShell, navegue até a pasta na qual você salvou o arquivo .ps1.In a PowerShell console, navigate to the folder where you saved the .ps1 file.

  5. Execute os seguintes comandos do PowerShell para compilar o documento MOF de metaconfiguração (para obter informações sobre compilação de configurações DSC, consulte Configurações DSC):Run the following PowerShell commands to compile the metaconfiguration MOF document (for information about compiling DSC configurations, see DSC Configurations:

    . .\PullClientBootstrap.ps1
    PullClientBootstrap
    
  6. Isso criará um arquivo localhost.meta.mof em uma nova pasta chamada PullClientBootstrap.This will create a localhost.meta.mof file in a new folder named PullClientBootstrap. Renomear e mover esse arquivo para o local apropriado no VHD como MetaConfig.mof, usando o cmdlet Move-Item.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\Sytem32\Configuration\MetaConfig.mof
    
  7. Chamando o cmdlet Dismount-VHD, desmonte o VHD.Dismount the VHD by calling the Dismount-VHD cmdlet. Por exemplo:For example:

    Dismount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  8. Crie uma VM usando o VHD no qual você instalou o documento MOF do DSC.Create a VM by using the VHD where you installed the DSC MOF document. Após a inicialização inicial e a instalação do sistema operacional, a DSC efetuará pull da configuração do servidor de pull e o IIS será instalado.After intial boot-up and operating system installation, DSC will pull the configuration from the pull server, and IIS will be installed. Você pode verificar isso chamando o cmdlet Get-WindowsFeature.You can verify this by calling the Get-WindowsFeature cmdlet.

Desabilite a DSC no momento da inicializaçãoDisable DSC at boot time

Por padrão, o valor da chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DSCAutomationHostEnabled é definido como 2, o que permitirá que uma configuração DSC seja executada se o computador estiver no estado atual ou pendente.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. Se não desejar que uma configuração seja executada na inicialização inicial, você precisará definir o valor desta chave como 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. Chamando o cmdlet Mount-VHD, monte o VHD.Mount the VHD by calling the Mount-VHD cmdlet. Por exemplo:For example:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Carregue a subchave HKLM\Software do Registro do VHD chamando 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. Navegue até HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\* usando o provedor de Registro do PowerShell.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. Altere o valor de DSCAutomationHostEnabled para 0.Change the value of DSCAutomationHostEnabled to 0.

    Set-ItemProperty -Path . -Name DSCAutomationHostEnabled -Value 0
    
  5. Descarregue o Registro executando os comandos a seguir:Unload the registry by running the following commands:

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

Consulte TambémSee Also