Konfigurera en pull-klient med hjälp av konfigurations-ID:t i PowerShell 5.0 och senare

Gäller för: Windows PowerShell 5.0

Viktigt

Pull Server (Windows Feature DSC-Service) är en komponent som stöds i Windows Server, men det finns inga planer på att erbjuda nya funktioner. Vi vill att du ska veta att en nyare version av DSC nu är allmänt tillgänglig, hanterad av en funktion i Azure Policy med namnet gästkonfiguration. Gästkonfigurationstjänsten kombinerar funktioner i DSC-tillägget, Azure Automation State Configuration och de vanligaste begärda funktionerna från kundfeedback. Gästkonfigurationen omfattar även stöd för hybriddatorer via Arc-aktiverade servrar.

Innan du konfigurerar en pull-klient bör du konfigurera en pull-server. Även om den här ordningen inte krävs hjälper den till med felsökningen och hjälper dig att säkerställa att registreringen lyckades. Om du vill konfigurera en pull-server kan du använda följande guider:

Varje målnod kan konfigureras för att ladda ned konfigurationer, resurser och till och med rapportera dess status. Avsnitten nedan visar hur du konfigurerar en pull-klient med en SMB-resurs eller HTTP DSC-pullserver. När nodens LCM uppdateras kontaktar den den konfigurerade platsen för att ladda ned alla tilldelade konfigurationer. Om det inte finns några nödvändiga resurser på noden laddas de automatiskt ned från den konfigurerade platsen. Om noden har konfigurerats med en rapportserver rapporterar den sedan åtgärdens status.

Anteckning

Det här avsnittet gäller för PowerShell 5.0. Information om hur du konfigurerar en pull-klient i PowerShell 4.0 finns i Konfigurera en pull-klient med hjälp av konfigurations-ID i PowerShell 4.0

Konfigurera pull-klientens LCM

Om du kör något av exemplen nedan skapas en ny utdatamapp med namnet PullClientConfigID och en MOF-fil för metakonfiguration placeras där. I det här fallet får MOF-filen metakonfiguration namnet localhost.meta.mof.

Om du vill tillämpa konfigurationen anropar du cmdleten Set-DscLocalConfigurationManager med sökvägen inställd på platsen för MOF-filen för metakonfiguration. Exempel:

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

Konfigurations-ID

Exemplen nedan anger egenskapen ConfigurationID för LCM till ett Guid som tidigare hade skapats för detta ändamål. ConfigurationID är det som LCM använder för att hitta rätt konfiguration på pull-servern. MOF-konfigurationsfilen på pull-servern måste ha namnet ConfigurationID.mof, där ConfigurationID är värdet för egenskapen ConfigurationID för målnodens LCM. Mer information finns i Publicera konfigurationer till en pull-server (v4/v5).

Du kan skapa ett slumpmässigt guid med hjälp av exemplet nedan eller med hjälp av cmdleten New-Guid .

[System.Guid]::NewGuid()

Mer information om hur du använder Guids i din miljö finns i Planera för guids.

Konfigurera en pull-klient för att ladda ned konfigurationer

Varje klient måste konfigureras i pull-läge och med tanke på pull-server-URL:en där dess konfiguration lagras. För att göra detta måste du konfigurera den lokala Configuration Manager (LCM) med nödvändig information. För att konfigurera LCM skapar du en särskild typ av konfiguration, dekorerad med attributet DSCLocalConfigurationManager . Mer information om hur du konfigurerar LCM finns i Konfigurera den lokala Configuration Manager.

HTTP DSC-hämtningsserver

Följande skript konfigurerar LCM för att hämta konfigurationer från en server med namnet "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

I skriptet definierar ConfigurationRepositoryWeb-blocket pull-servern. ServerUrl anger URL:en för DSC Pull

SMB-resurs

Följande skript konfigurerar LCM för att hämta konfigurationer från SMB-resursen \\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

I skriptet definierar ConfigurationRepositoryShare-blocket pull-servern, som i det här fallet bara är en SMB-resurs.

Konfigurera en pull-klient för att ladda ned resurser

Om du bara anger blocket ConfigurationRepositoryWeb eller ConfigurationRepositoryShare i LCM-konfigurationen (som i föregående exempel) hämtar pull-klienten resurser från samma plats som den hämtar sina konfigurationer. Du kan också ange separata platser för resurser. Om du vill ange en resursplats som en separat server använder du blocket ResourceRepositoryWeb . Om du vill ange en resursplats som en SMB-resurs använder du blocket ResourceRepositoryShare .

Anteckning

Du kan kombinera ConfigurationRepositoryWeb med ResourceRepositoryShare eller ConfigurationRepositoryShare med ResourceRepositoryWeb. Exempel på detta visas inte nedan.

HTTP DSC-hämtningsserver

Följande metakonfiguration konfigurerar en pull-klient för att hämta dess konfigurationer från CONTOSO-PullSrv och dess resurser från 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-resurs

I följande exempel visas en metakonfiguration som konfigurerar en klient för att hämta konfigurationer från SMB-resursen \\SMBPullServer\Configurationsoch resurser från SMB-resursen \\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

Ladda ned resurser automatiskt i push-läge

Från och med PowerShell 5.0 kan dina pull-klienter ladda ned moduler från en SMB-resurs, även när de är konfigurerade för push-läge . Detta är särskilt användbart i scenarier där du inte vill konfigurera en pull-server. ResourceRepositoryShare-blocket kan användas utan att ange en ConfigurationRepositoryShare. I följande exempel visas en metakonfiguration som konfigurerar en klient för att hämta resurser från en SMB-resurs \\SMBPullServer\Resources. När noden pushas en konfiguration laddas alla nödvändiga resurser ned automatiskt från den angivna resursen.

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

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

Konfigurera en pull-klient för att rapportera status

Noder skickar som standard inte rapporter till en konfigurerad pull-server. Du kan använda en enda pull-server för konfigurationer, resurser och rapportering, men du måste skapa ett ReportRepositoryWeb-block för att konfigurera rapportering.

HTTP DSC-hämtningsserver

I följande exempel visas en metakonfiguration som konfigurerar en klient för att hämta konfigurationer och resurser och skicka rapporteringsdata till en enda 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

Om du vill ange en rapportserver använder du ett ReportRepositoryWeb-block . En rapportserver får inte vara en SMB-server. Följande metakonfiguration konfigurerar en pull-klient för att hämta dess konfigurationer från CONTOSO-PullSrv och dess resurser från CONTOSO-ResourceSrv och för att skicka statusrapporter till CONTOSO-ReportSrv:

[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-resurs

En rapportserver får inte vara en SMB-resurs.

Nästa steg

När pull-klienten har konfigurerats kan du använda följande guider för att utföra nästa steg:

Se även