Configuración de un cliente de extracción mediante nombres de configuración en PowerShell 5.0 y versiones posteriores

Se aplica a: Windows PowerShell 5.0

Importante

El servidor de extracción (característica de Windows DSC-Service) es un componente de Windows Server admitido, si bien no está previsto ofrecer nuevas características o funcionalidades. nos gustaría saber que una versión más reciente de DSC ahora está disponible con carácter general, administrada por una característica de Azure Policy configuración de invitado con nombre. El servicio de configuración de invitado combina características de la extensión DSC, Azure Automation State Configuration y las características que más solicitan los clientes en sus comentarios. La configuración de invitado también incluye la compatibilidad con máquinas híbridas a través de servidores habilitados para Arc.

Antes de configurar un cliente de extracción, debe configurar un servidor de extracción. Aunque este orden no es obligatorio, ayuda a solucionar problemas y ayuda a garantizar que el registro sea correcto. Para configurar un servidor de extracción, puede usar a las siguientes guías:

Cada nodo de destino puede configurarse para descargar configuraciones y recursos, e incluso para notificar de su estado. Las secciones siguientes muestran cómo configurar a un cliente de extracción con un recurso compartido SMB o el servidor de extracción de DSC HTTP. Cuando se actualice el LCM del nodo, accederá a la ubicación configurada para descargar las configuraciones asignadas. Si los recursos necesarios no existen en el nodo, se descargarán automáticamente desde la ubicación configurada. Si el nodo se configura con un servidor de informes, notificará el estado de la operación.

Nota

Este tema se aplica a PowerShell 5.0. Para obtener información sobre cómo configurar un cliente de extracción en PowerShell 4.0, consulte Configuración de un cliente de extracción con ID de configuración en PowerShell 4.0

Configuración del LCM del cliente de extracción

La ejecución de cualquiera de los ejemplos siguientes crea una nueva carpeta de salida denominada PullClientConfigName y coloca un archivo MOF de metaconfiguración en ella. En este caso, el nombre del archivo MOF de metaconfiguración será localhost.meta.mof.

Para aplicar la configuración, llame al cmdlet Set-DscLocalConfigurationManager, con el valor de Path establecido en la ubicación del archivo MOF de metaconfiguración. Por ejemplo:

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

Nombre de la configuración

Los ejemplos siguientes establecen la propiedad ConfigurationName del LCM en el nombre de una configuración previamente compilada, creada para este propósito. La propiedad ConfigurationName es lo que usa el LCM para buscar la configuración adecuada en el servidor de extracción. El archivo MOF de configuración en el servidor de extracción debe denominarse <ConfigurationName>.mof, en este caso, "ClientConfig.mof". Para obtener más información, consulte Publicación de las configuraciones en un servidor de extracción (v4/v5).

Configuración de un cliente de extracción para descargar configuraciones

Cada cliente debe configurarse en modo Pull (de extracción) y se le debe asignar la URL del servidor de extracción donde se almacena su configuración. Para ello, tendrá que configurar el administrador de configuración local (LCM) con la información necesaria. Para configurar el LCM, debe crear un tipo especial de configuración, decorado con el atributo DSCLocalConfigurationManager. Para más información sobre la configuración del LCM, consulte Configuración del administrador de configuración local.

El script siguiente configura el LCM para que extraiga configuraciones de un servidor denominado "CONTOSO-PullSrv".

  • En el script, el bloque ConfigurationRepositoryWeb define el servidor de incorporación de cambios. La propiedad ServerURL especifica el punto de conexión del servidor de incorporación de cambios.

  • La propiedad RegistrationKey es una clave compartida entre todos los nodos de cliente de un servidor de incorporación de cambios y ese servidor de incorporación de cambios. El mismo valor se almacena en un archivo en el servidor de extracción.

    Nota

    Las claves de registro solo funcionan con servidores de extracción web. Deberá seguir usando el elemento ConfigurationID con un servidor de extracción SMB. >Para obtener información sobre cómo configurar un servidor de extracción mediante ConfigurationID, consulte Configuración de un cliente de extracción mediante el identificador de configuración.

  • La propiedad ConfigurationNames es una matriz que especifica el nombre de la configuración prevista para el nodo de cliente. >Nota: Si se especifica más de un valor en ConfigurationNames, también deberá especificar bloques PartialConfiguration en la configuración. >Para obtener información sobre las configuraciones parciales, consulte PowerShell Desired State Configuration configuraciones parciales.

[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

Configuración de un cliente de extracción para descargar recursos

Si solo especifica un bloque ConfigurationRepositoryWeb o ConfigurationRepositoryShare en la configuración del LCM (como en el ejemplo anterior), el cliente de extracción extraerá recursos de la misma ubicación donde están almacenados sus archivos ".mof". También puede especificar distintas ubicaciones en las cuales los clientes puedan descargar recursos. Para especificar un servidor de recursos, utilice un bloque ResourceRepositoryWeb (para un servidor de extracción web) o un bloque ResourceRepositoryShare (para un servidor de extracción SMB).

En el siguiente ejemplo se muestra una metaconfiguración que configura un cliente para descargar configuraciones de un servidor de extracción y recursos de un recurso compartido 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

Configuración de un cliente de extracción para notificar el estado

Puede utilizar un solo servidor de extracción para configuraciones, recursos e informes. Los informes no están configurados para los clientes, de forma predeterminada. Para configurar que un cliente notifique el estado, debe crear un bloque ReportRepositoryWeb. En el siguiente ejemplo se muestra una metaconfiguración que configura un cliente para que envíe informes de datos y extraiga configuraciones y recursos a un único servidor de extracción.

Nota

Un servidor de informes no puede ser un recurso compartido 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 también