Partager via


Configurer un client Pull à l’aide de noms de configuration dans PowerShell 5.0 et ultérieur

S’applique à : Windows PowerShell 5.0

Important

Le serveur collecteur (fonctionnalité Windows Service DSC) est un composant pris en charge de Windows Server. Toutefois, nous ne prévoyons pas de proposer de nouvelles fonctionnalités. nous aimerions que vous sachiez qu’une version plus récente de DSC est désormais en disponibilité générale, gérée par une fonctionnalité de Azure Policy configuration d’invité nommée. Le service de configuration invité combine les fonctionnalités d’Extension DSC, d’Azure Automation State Configuration, ainsi que les fonctionnalités les plus couramment demandées par les commentaires des clients. La configuration invité comprend également une prise en charge d’ordinateur hybride via des serveurs avec Arc.

Avant de configurer un client Pull, vous devez configurer un serveur Pull. Bien que cet ordre ne soit pas obligatoire, il facilite le dépannage et vous permet de vous assurer que l’inscription a réussi. Pour configurer un serveur Pull, vous pouvez utiliser les guides suivants :

Chaque nœud cible peut être configuré pour télécharger les configurations et les ressources, et même pour signaler son état. Les sections suivantes montrent comment configurer un client Pull avec un partage SMB ou un serveur Pull DSC HTTP. Quand le Gestionnaire de configuration local du nœud est actualisé, il contacte l’emplacement configuré pour télécharger toutes les configurations affectées. Si des ressources requises n’existent pas sur le nœud, il les télécharge automatiquement à partir de l’emplacement configuré. Si le nœud est configuré avec un serveur de rapports, il signale ensuite l’état de l’opération.

Notes

Cette rubrique s’applique à PowerShell 5.0. Pour obtenir des informations sur la configuration d’un client Pull dans PowerShell 4.0, consultez Configurer un client Pull à l’aide de l’ID de configuration dans PowerShell 4.0

Configurer le Gestionnaire de configuration local du client Pull

L’exécution de l’un des exemples ci-dessous crée un dossier de sortie nommé PullClientConfigName et y place un fichier MOF de métaconfiguration. Dans ce cas, le fichier MOF de métaconfiguration est nommé localhost.meta.mof.

Pour appliquer la configuration, appelez l’applet de commande Set-DscLocalConfigurationManager avec le paramètre Path défini sur l’emplacement du fichier MOF de métaconfiguration. Exemple :

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

Nom de la configuration

Les exemples ci-dessous affectent à la propriété ConfigurationName du Gestionnaire de configuration local le nom d’une configuration précédemment compilée, créée à cet effet. Le paramètre ConfigurationName est utilisé par le Gestionnaire de configuration local pour rechercher la configuration appropriée sur le serveur Pull. Le fichier MOF de configuration sur le serveur Pull doit être nommé <ConfigurationName>.mof, dans le cas présent « ClientConfig.mof ». Pour plus d’informations, consultez Publier des configurations vers un serveur Pull (v4/v5).

Configurer un client Pull pour télécharger des configurations

Chaque client doit être configuré en mode Pull et il faut lui fournir l’URL du serveur Pull où sa configuration est stockée. Pour ce faire, vous devez configurer le gestionnaire de configuration local avec les informations nécessaires. Pour configurer le gestionnaire de configuration local, vous créez un type spécial de configuration que vous décorez avec l’attribut DSCLocalConfigurationManager. Pour plus d’informations sur la configuration du gestionnaire de configuration local, consultez Configuration du gestionnaire de configuration local.

Le script suivant configure le gestionnaire de configuration local pour extraire les configurations d’un serveur nommé « CONTOSO-PullSrv ».

  • Dans le script, le bloc ConfigurationRepositoryWeb définit le serveur collecteur. La propriété ServerURL spécifie le point de terminaison pour le serveur collecteur.

  • La propriété RegistrationKey est une clé partagée entre tous les nœuds clients d’un serveur collecteur et ce serveur collecteur. La même valeur est stockée dans un fichier sur le serveur collecteur.

    Notes

    Les clés d’inscription fonctionnent uniquement avec les serveurs Pull web. Vous devez encore utiliser ConfigurationID avec un serveur Pull SMB. > Pour plus d’informations sur la configuration d’un serveur pull à l’aide de ConfigurationID, consultez Configuration d’un client pull à l’aide de l’ID de configuration

  • La propriété ConfigurationNames est un tableau qui spécifie les noms des configurations destinées au nœud client. >Remarque : Si vous spécifiez plusieurs valeurs dans ConfigurationNames, vous devez également spécifier des blocs PartialConfiguration dans votre configuration. >Pour plus d’informations sur les configurations partielles, consultez PowerShell Desired State Configuration configurations partielles.

[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

Configurer un client Pull pour télécharger des ressources

Si vous spécifiez uniquement un bloc ConfigurationRepositoryWeb ou ConfigurationRepositoryShare dans votre configuration du Gestionnaire de configuration local (comme dans l’exemple précédent), le client Pull extrait les ressources à partir de l’emplacement où sont stockés vos fichiers « .mof ». Vous pouvez également spécifier différents emplacements où les clients peuvent télécharger des ressources. Pour spécifier un serveur de ressources, vous utilisez un bloc ResourceRepositoryWeb (pour un serveur collecteur web) ou ResourceRepositoryShare (pour un serveur collecteur SMB).

L’exemple suivant montre une métaconfiguration qui configure un client pour télécharger des configurations à partir d’un serveur Pull et des ressources à partir d’un partage 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

Configurer un client Pull pour signaler l’état

Vous pouvez utiliser un serveur Pull unique pour les configurations, les ressources et les rapports. La création de rapports n’est pas configurée pour les clients par défaut. Pour configurer un client pour signaler l’état, vous devez créer un bloc ReportRepositoryWeb. L’exemple suivant montre une métaconfiguration qui configure un client de façon à extraire les configurations et les ressources, et à envoyer des données de rapport à un seul serveur collecteur.

Notes

Un serveur de rapports ne peut pas être un partage 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

Voir aussi