Konfigurowanie klienta ściągania przy użyciu identyfikatorów konfiguracji w programie PowerShell 5.0 lub nowszym

Dotyczy: Windows PowerShell 5.0

Ważne

Serwer ściągania (Windows Feature DSC-Service) jest obsługiwanym składnikiem systemu Windows Server, jednak nie ma planów oferowania nowych funkcji lub możliwości. Chcielibyśmy wiedzieć, że nowsza wersja dsC jest teraz ogólnie dostępna, zarządzana przez funkcję Azure Policy o nazwie konfiguracja gościa. Usługa konfiguracji gościa łączy funkcje rozszerzenia DSC, Azure Automation State Configuration i najczęściej żądanych funkcji z opinii klientów. Konfiguracja gościa obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą usługi Arc.

Przed skonfigurowaniem klienta ściągania należy skonfigurować serwer ściągania. Chociaż ta kolejność nie jest wymagana, pomaga w rozwiązywaniu problemów i pomaga upewnić się, że rejestracja zakończyła się pomyślnie. Aby skonfigurować serwer ściągania, możesz użyć następujących przewodników:

Każdy węzeł docelowy można skonfigurować do pobierania konfiguracji, zasobów, a nawet zgłaszania stanu. W poniższych sekcjach pokazano, jak skonfigurować klienta ściągania za pomocą udziału SMB lub serwera ściągania HTTP DSC. Gdy narzędzie LCM węzła zostanie odświeżone, skontaktuje się ze skonfigurowaną lokalizacją w celu pobrania wszystkich przypisanych konfiguracji. Jeśli jakiekolwiek wymagane zasoby nie istnieją w węźle, automatycznie pobierze je ze skonfigurowanej lokalizacji. Jeśli węzeł jest skonfigurowany z serwerem raportów, zgłosi stan operacji.

Uwaga

Ten temat dotyczy programu PowerShell 5.0. Aby uzyskać informacje na temat konfigurowania klienta ściągania w programie PowerShell 4.0, zobacz Konfigurowanie klienta ściągania przy użyciu identyfikatora konfiguracji w programie PowerShell 4.0

Konfigurowanie klienta ściągania LCM

Wykonanie dowolnego z poniższych przykładów powoduje utworzenie nowego folderu wyjściowego o nazwie PullClientConfigID i umieszcza tam metakonfigurację pliku MOF. W takim przypadku plik MOF metakonfiguracji będzie miał nazwę localhost.meta.mof.

Aby zastosować konfigurację, wywołaj polecenie cmdlet Set-DscLocalConfigurationManagerz ustawioną ścieżką do lokalizacji pliku MOF metakonfiguracji. Na przykład:

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

Identyfikator konfiguracji

W poniższych przykładach właściwość ConfigurationID LCM jest ustawiana na identyfikator GUID , który został wcześniej utworzony w tym celu. Identyfikator konfiguracji jest używany przez narzędzie LCM do znalezienia odpowiedniej konfiguracji na serwerze ściągania. Plik MOF konfiguracji na serwerze ściągania musi mieć nazwę ConfigurationID.mof, gdzie ConfigurationID jest wartością właściwości ConfigurationID węzła docelowego LCM. Aby uzyskać więcej informacji, zobacz Publikowanie konfiguracji na serwerze ściągania (v4/v5).

Możesz utworzyć losowy identyfikator GUID , korzystając z poniższego przykładu lub za pomocą polecenia cmdlet New-Guid .

[System.Guid]::NewGuid()

Aby uzyskać więcej informacji na temat używania identyfikatorów GUID w środowisku, zobacz Planowanie identyfikatorów GUID.

Konfigurowanie klienta ściągania w celu pobrania konfiguracji

Każdy klient musi być skonfigurowany w trybie ściągania i mieć adres URL serwera ściągania , pod którym jest przechowywana jego konfiguracja. W tym celu należy skonfigurować Configuration Manager lokalne (LCM) przy użyciu niezbędnych informacji. Aby skonfigurować LCM, należy utworzyć specjalny typ konfiguracji ozdobiony atrybutem DSCLocalConfigurationManager . Aby uzyskać więcej informacji na temat konfigurowania programu LCM, zobacz Konfigurowanie Configuration Manager lokalnego.

Serwer ściągania HTTP DSC

Poniższy skrypt konfiguruje narzędzie LCM do ściągania konfiguracji z serwera o nazwie "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

W skrycie blok ConfigurationRepositoryWeb definiuje serwer ściągania. ServerUrl określa adres URL ściągania DSC

Udział SMB

Poniższy skrypt konfiguruje narzędzie LCM do ściągania konfiguracji z udziału \\SMBPullServer\PullSMB .

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

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

W skrycie blok ConfigurationRepositoryShare definiuje serwer ściągania, który w tym przypadku jest tylko udziałem SMB.

Konfigurowanie klienta ściągania w celu pobrania zasobów

Jeśli określisz tylko blok ConfigurationRepositoryWeb lub ConfigurationRepositoryShare w konfiguracji LCM (podobnie jak w poprzednich przykładach), klient ściągania pobierze zasoby z tej samej lokalizacji, w której pobiera konfiguracje. Możesz również określić oddzielne lokalizacje dla zasobów. Aby określić lokalizację zasobu jako oddzielny serwer, użyj bloku ResourceRepositoryWeb . Aby określić lokalizację zasobu jako udział SMB, użyj bloku ResourceRepositoryShare .

Uwaga

Repozytorium ConfigurationRepositoryWeb można połączyć z usługą ResourceRepositoryShare lub ConfigurationRepositoryShare z usługą ResourceRepositoryWeb. Przykłady tego nie są pokazane poniżej.

Serwer ściągania HTTP DSC

Poniższa metakonfiguracja konfiguruje klienta ściągania, aby uzyskać jego konfiguracje z firmy CONTOSO-PullSrv i jej zasobów z usługi 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

Udział SMB

W poniższym przykładzie przedstawiono metakonfigurację, która konfiguruje klienta w celu ściągania konfiguracji z udziału \\SMBPullServer\ConfigurationsSMB i zasobów z udziału \\SMBPullServer\ResourcesSMB.

[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

Automatyczne pobieranie zasobów w trybie wypychania

Począwszy od programu PowerShell 5.0 klienci ściągania mogą pobierać moduły z udziału SMB, nawet jeśli są one skonfigurowane w trybie wypychania . Jest to szczególnie przydatne w scenariuszach, w których nie chcesz konfigurować serwera ściągania. Blok ResourceRepositoryShare można użyć bez określania właściwości ConfigurationRepositoryShare. W poniższym przykładzie przedstawiono metakonfigurację, która konfiguruje klienta w celu ściągania zasobów z udziału \\SMBPullServer\ResourcesSMB. Po wypchnięciu węzła konfiguracja automatycznie pobierze wszystkie wymagane zasoby z określonego udziału.

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

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

Konfigurowanie klienta ściągania w celu raportowania stanu

Domyślnie węzły nie będą wysyłać raportów do skonfigurowanego serwera ściągania. Można użyć jednego serwera ściągania do konfiguracji, zasobów i raportowania, ale musisz utworzyć blok ReportRepositoryWeb , aby skonfigurować raportowanie.

Serwer ściągania HTTP DSC

W poniższym przykładzie przedstawiono metakonfigurację, która konfiguruje klienta w celu ściągania konfiguracji i zasobów oraz wysyłania danych raportowania do pojedynczego serwera ściągania.

[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

Aby określić serwer raportów, należy użyć bloku ReportRepositoryWeb . Serwer raportów nie może być serwerem SMB. Następująca metakonfiguracja konfiguruje klienta ściągania w celu pobrania konfiguracji z firmy CONTOSO-PullSrv i jej zasobów z domeny CONTOSO-ResourceSrv oraz wysyłania raportów o stanie do usługi 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

Udział SMB

Serwer raportów nie może być udziałem SMB.

Następne kroki

Po skonfigurowaniu klienta ściągania możesz użyć następujących przewodników, aby wykonać następne kroki:

Zobacz też