Een pull-client instellen met behulp van configuratie-id's in PowerShell 5.0 en hoger

Van toepassing op: Windows PowerShell 5.0

Belangrijk

De pull-server (Windows Feature DSC-Service) is een ondersteund onderdeel van Windows Server, maar er zijn geen plannen om nieuwe functies of mogelijkheden aan te bieden. We willen graag dat u weet dat een nieuwere versie van DSC nu algemeen beschikbaar is, beheerd door een functie van Azure Policy met de naam gastconfiguratie. De gastconfiguratieservice combineert functies van DSC-extensie, Azure Automation State Configuration en de meest gevraagde functies uit feedback van klanten. Gastconfiguratie omvat ook ondersteuning voor hybride machines via servers met Arc.

Voordat u een pull-client instelt, moet u een pull-server instellen. Hoewel deze bestelling niet vereist is, helpt het bij het oplossen van problemen en zorgt u ervoor dat de registratie is geslaagd. Als u een pull-server wilt instellen, kunt u de volgende handleidingen gebruiken:

Elk doelknooppunt kan worden geconfigureerd om configuraties en resources te downloaden en zelfs de status ervan te rapporteren. In de onderstaande secties ziet u hoe u een pull-client configureert met een SMB-share of HTTP DSC-pullserver. Wanneer de LCM van het knooppunt wordt vernieuwd, neemt het contact op met de geconfigureerde locatie om toegewezen configuraties te downloaden. Als er geen vereiste resources op het knooppunt bestaan, worden deze automatisch gedownload vanaf de geconfigureerde locatie. Als het knooppunt is geconfigureerd met een rapportserver, wordt de status van de bewerking gerapporteerd.

De LCM van de pull-client configureren

Als u een van de onderstaande voorbeelden uitvoert, wordt een nieuwe uitvoermap met de naam PullClientConfigID gemaakt en wordt daar een MOF-bestand voor metaconfiguratie geplaatst. In dit geval krijgt het MOF-bestand van de metaconfiguratie de naam localhost.meta.mof.

Als u de configuratie wilt toepassen, roept u de cmdlet Set-DscLocalConfigurationManager aan, waarbij het pad is ingesteld op de locatie van het metaconfiguration MOF-bestand. Bijvoorbeeld:

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

Configuratie-id

In de onderstaande voorbeelden wordt de eigenschap ConfigurationID van de LCM ingesteld op een GUID die eerder voor dit doel is gemaakt. De ConfigurationID is wat de LCM gebruikt om de juiste configuratie op de pull-server te vinden. Het configuratie-MOF-bestand op de pull-server moet de naam ConfigurationID.mofhebben, waarbij ConfigurationID de waarde is van de eigenschap ConfigurationID van de LCM van het doelknooppunt. Zie Configuraties publiceren naar een pull-server (v4/v5) voor meer informatie.

U kunt een willekeurige GUID maken met behulp van het onderstaande voorbeeld of met behulp van de cmdlet New-Guid .

[System.Guid]::NewGuid()

Zie Plannen voor GUID's voor meer informatie over het gebruik van GUID's in uw omgeving.

Een pull-client instellen om configuraties te downloaden

Elke client moet worden geconfigureerd in de pull-modus en de URL van de pull-server krijgen waar de configuratie wordt opgeslagen. Hiervoor moet u de Local Configuration Manager (LCM) configureren met de benodigde informatie. Als u de LCM wilt configureren, maakt u een speciaal type configuratie, dat is voorzien van het kenmerk DSCLocalConfigurationManager . Zie De lokale Configuration Manager configureren voor meer informatie over het configureren van de LCM.

HTTP DSC-pullserver

Met het volgende script configureert u de LCM om configuraties op te halen van een server met de naam CONTOSO-PullSrv.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'

        }
    }
}
PullClientConfigID

In het script definieert het blok ConfigurationRepositoryWeb de pull-server. De ServerUrl geeft de URL van de DSC-pull op

SMB-share

Met het volgende script configureert u de LCM om configuraties op te halen uit de SMB-share \\SMBPullServer\Pull.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryShare SMBPullServer
        {
            SourcePath = '\\SMBPullServer\Pull'
        }
    }
}
PullClientConfigID

In het script definieert het ConfigurationRepositoryShare-blok de pull-server, die in dit geval alleen een SMB-share is.

Een pull-client instellen om resources te downloaden

Als u alleen het configurationRepositoryWeb - of ConfigurationRepositoryShare-blok opgeeft in uw LCM-configuratie (zoals in de vorige voorbeelden), haalt de pull-client resources op van dezelfde locatie waarop de configuraties worden opgehaald. U kunt ook afzonderlijke locaties voor resources opgeven. Als u een resourcelocatie wilt opgeven als een afzonderlijke server, gebruikt u het blok ResourceRepositoryWeb . Als u een resourcelocatie wilt opgeven als een SMB-share, gebruikt u het blok ResourceRepositoryShare .

Notitie

U kunt ConfigurationRepositoryWeb combineren met ResourceRepositoryShare of ConfigurationRepositoryShare met ResourceRepositoryWeb. Voorbeelden hiervan worden hieronder niet weergegeven.

HTTP DSC-pullserver

Met de volgende metaconfiguratie configureert u een pull-client om de configuraties op te halen uit CONTOSO-PullSrv en de bijbehorende resources uit CONTOSO-ResourceSrv.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'

        }

        ResourceRepositoryWeb CONTOSO-ResourceSrv
        {
            ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc'
        }
    }
}
PullClientConfigID

SMB-share

In het volgende voorbeeld ziet u een metaconfiguratie waarmee een client wordt ingesteld om configuraties op te halen uit de SMB-share \\SMBPullServer\Configurationsen resources uit de SMB-share \\SMBPullServer\Resources.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryShare SMBPullServer
        {
            SourcePath = '\\SMBPullServer\Configurations'
        }

        ResourceRepositoryShare SMBResourceServer
        {
            SourcePath = '\\SMBPullServer\Resources'
        }
    }
}
PullClientConfigID

Resources automatisch downloaden in de pushmodus

Vanaf PowerShell 5.0 kunnen uw pull-clients modules downloaden van een SMB-share, zelfs wanneer ze zijn geconfigureerd voor de pushmodus . Dit is met name handig in scenario's waarin u geen pull-server wilt instellen. Het ResourceRepositoryShare-blok kan worden gebruikt zonder een ConfigurationRepositoryShare op te geven. In het volgende voorbeeld ziet u een metaconfiguratie waarmee een client wordt ingesteld om resources op te halen uit een SMB-share \\SMBPullServer\Resources. Wanneer het knooppunt een configuratie PUSHED krijgt , worden alle vereiste resources automatisch gedownload van de opgegeven share.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Push'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
        }

        ResourceRepositoryShare SMBResourceServer
        {
            SourcePath = '\\SMBPullServer\Resources'
        }
    }
}
PullClientConfigID

Een pull-client instellen om de status te rapporteren

Standaard verzenden knooppunten geen rapporten naar een geconfigureerde pull-server. U kunt één pull-server gebruiken voor configuraties, resources en rapportage, maar u moet een ReportRepositoryWeb-blok maken om rapportage in te stellen.

HTTP DSC-pullserver

In het volgende voorbeeld ziet u een metaconfiguratie waarmee een client wordt ingesteld om configuraties en resources op te halen en rapportagegegevens te verzenden naar één pull-server.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
        }

        ReportServerWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
        }
    }
}
PullClientConfigID

Als u een rapportserver wilt opgeven, gebruikt u het blok ReportRepositoryWeb . Een rapportserver kan geen SMB-server zijn. Met de volgende metaconfiguratie configureert u een pull-client om de configuraties op te halen uit CONTOSO-PullSrv en de bijbehorende resources uit CONTOSO-ResourceSrv, en om statusrapporten naar CONTOSO-ReportSrv te verzenden:

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
        }

        ResourceRepositoryWeb CONTOSO-ResourceSrv
        {
            ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc'
        }

        ReportServerWeb CONTOSO-ReportSrv
        {
            ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc'
        }
    }
}
PullClientConfigID

SMB-share

Een rapportserver kan geen SMB-share zijn.

Volgende stappen

Zodra de pull-client is geconfigureerd, kunt u de volgende handleidingen gebruiken om de volgende stappen uit te voeren:

Zie ook