Partilhar via


Configurar um Cliente Pull com Nomes de Configuração no PowerShell 5.0 e posterior

Aplica-se a: Windows PowerShell 5.0

Importante

O Servidor Pull (Windows Feature DSC-Service) é um componente suportado do Windows Server. No entanto, não existem planos para oferecer novas funcionalidades ou capacidades. Gostaríamos que soubesse que uma versão mais recente do DSC está agora disponível de forma geral, gerida por uma funcionalidade de Azure Policy com o nome configuração de convidado. O serviço de configuração de convidado combina funcionalidades da Extensão DSC, Automatização do Azure State Configuration e as funcionalidades mais frequentemente pedidas a partir do feedback dos clientes. A configuração de convidado também inclui suporte de máquina híbrida através de servidores compatíveis com o Arc.

Antes de configurar um cliente Pull, deve configurar um servidor Pull. Embora esta encomenda não seja necessária, ajuda na resolução de problemas e ajuda-o a garantir que o registo foi efetuado com êxito. Para configurar um servidor Pull, pode utilizar os seguintes guias:

Cada nó de destino pode ser configurado para transferir configurações, recursos e até mesmo comunicar o respetivo estado. As secções abaixo mostram-lhe como configurar um cliente Pull com uma partilha SMB ou um Servidor Pull DSC HTTP. Quando o LCM do Nó for atualizado, irá contactar a localização configurada para transferir quaisquer configurações atribuídas. Se não existirem recursos necessários no Nó, irá transferi-los automaticamente a partir da localização configurada. Se o Nó estiver configurado com um Servidor de Relatórios, reportará o estado da operação.

Nota

Este tópico aplica-se ao PowerShell 5.0. Para obter informações sobre como configurar um cliente Pull no PowerShell 4.0, consulte Configurar um cliente Pull com o ID de configuração no PowerShell 4.0

Configurar o LCM do cliente Pull

Executar qualquer um dos exemplos abaixo cria uma nova pasta de saída com o nome PullClientConfigName e coloca aí um ficheiro MOF de metaconfiguração. Neste caso, o ficheiro MOF de metaconfiguração terá o nome localhost.meta.mof.

Para aplicar a configuração, chame o cmdlet Set-DscLocalConfigurationManager , com o Caminho definido para a localização do ficheiro MOF de metaconfiguração. Por exemplo:

Set-DSCLocalConfigurationManager –ComputerName localhost –Path .\PullClientConfigName –Verbose.

Nome da Configuração

Os exemplos abaixo definem a propriedade ConfigurationName do LCM para o nome de uma Configuração previamente compilada, criada para esta finalidade. O ConfigurationName é o que o LCM utiliza para encontrar a configuração adequada no servidor Pull. O ficheiro MOF de configuração no servidor Pull tem de ter o nome <ConfigurationName>.mof, neste caso, "ClientConfig.mof". Para obter mais informações, veja Publicar Configurações num Servidor Pull (v4/v5).

Configurar um Cliente Pull para transferir Configurações

Cada cliente tem de ser configurado no modo Pull e dado o URL do servidor Pull onde a configuração está armazenada. Para tal, tem de configurar o Configuration Manager Local (LCM) com as informações necessárias. Para configurar o LCM, crie um tipo especial de configuração, decorado com o atributo DSCLocalConfigurationManager . Para obter mais informações sobre como configurar o LCM, veja Configurar o Configuration Manager Local.

O seguinte script configura o LCM para solicitar configurações de um servidor com o nome "CONTOSO-PullSrv".

  • No script, o bloco ConfigurationRepositoryWeb define o servidor Pull. A propriedade ServerURL especifica o ponto final do servidor Pull.

  • A propriedade RegistrationKey é uma chave partilhada entre todos os nós de cliente para um servidor Pull e esse servidor Pull. O mesmo valor é armazenado num ficheiro no servidor Pull.

    Nota

    As chaves de registo só funcionam com servidores Web Pull. Ainda tem de utilizar o ConfigurationID com um servidor pull SMB . > Para obter informações sobre como configurar um servidor Pull com o ConfigurationID, veja Configurar um cliente Pull com o ID de configuração

  • A propriedade ConfigurationNames é uma matriz que especifica os nomes das configurações destinadas ao nó de cliente. >Nota: Se especificar mais do que um valor nos ConfigurationNames, também tem de especificar blocos PartialConfiguration na sua configuração. >Para obter informações sobre configurações parciais, veja PowerShell Desired State Configuration configurações parciais.

[DSCLocalConfigurationManager()]
configuration PullClientConfigNames
{
    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 = @('ClientConfig')
        }
    }
}
PullClientConfigNames

Configurar um Cliente Pull para transferir Recursos

Se especificar apenas um bloco ConfigurationRepositoryWeb ou ConfigurationRepositoryShare na configuração do LCM (como no exemplo anterior), o cliente Pull irá extrair recursos da mesma localização onde os seus ficheiros ".mof" estão armazenados. Também pode especificar diferentes localizações onde os clientes podem transferir recursos. Para especificar um servidor de recursos, utilize um ResourceRepositoryWeb (para um servidor Pull Web) ou um bloco ResourceRepositoryShare (para um servidor pull SMB).

O exemplo seguinte mostra uma metaconfiguração que configura um cliente para transferir configurações a partir de um Servidor Pull e recursos de uma partilha SMB.

[DSCLocalConfigurationManager()]
configuration PullClientConfigNames
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
            RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562'
        }

        ResourceRepositoryShare SMBResources
        {
            SourcePath = '\\SMBPullServer\Resources'
        }
    }
}
PullClientConfigNames

Configurar um Cliente Pull para comunicar o estado

Pode utilizar um único servidor Pull para configurações, recursos e relatórios. Por predefinição, os relatórios não estão configurados para clientes. Para configurar um cliente para comunicar o estado, tem de criar um bloco ReportRepositoryWeb . O exemplo seguinte mostra uma metaconfiguração que configura um cliente para solicitar configurações e recursos e enviar dados de relatórios para um único servidor Pull.

Nota

Um servidor de relatórios não pode ser uma partilha SMB.

[DSCLocalConfigurationManager()]
configuration PullClientConfigNames
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
            RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562'
        }

        ReportServerWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
            RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562'
        }
    }
}
PullClientConfigNames

Consulte também