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:
- Konfigurowanie serwera ściągania SMB platformy DSC
- Konfigurowanie serwera ściągania HTTP platformy DSC
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\Pull
SMB .
[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\Configurations
SMB i zasobów z udziału \\SMBPullServer\Resources
SMB.
[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\Resources
SMB. 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:
- Publikowanie konfiguracji na serwerze ściągania (wersja 4 lub 5)
- Tworzenie pakietów i przekazywanie zasobów do serwera ściągania (wersja 4)