Поделиться через


Настройка опрашивающего клиента с помощью идентификаторов конфигурации в PowerShell 5.0 и более поздних версиях

Применимо к: Windows PowerShell 5.0

Это важно

Pull Server (Windows Feature DSC-Service) является поддерживаемым компонентом Windows Server, однако предложение новых функций или возможностей не планируется. Мы хотели бы, чтобы вы знали, что более новая версия DSC теперь общедоступна, управляется функцией Политики Azure под названием гостевая конфигурация. Служба гостевой конфигурации сочетает в себе функции расширения DSC, конфигурации состояния службы автоматизации Azure и наиболее часто запрашиваемые функции из отзывов клиентов. Гостевая конфигурация также включает поддержку гибридных компьютеров через серверы с поддержкой Arc.

Перед настройкой опрашивающего клиента необходимо настроить опрашивающий сервер. Хотя этот заказ не является обязательным, он помогает в устранении неполадок и помогает убедиться, что регистрация прошла успешно. Чтобы настроить опрашивающий сервер, вы можете воспользоваться следующими руководствами:

Каждый целевой узел можно настроить для загрузки конфигураций, ресурсов и даже составления отчетов о его состоянии. В следующих разделах показано, как настроить опрашивающий клиент с помощью общей папки SMB или вытягивающего сервера HTTP DSC. Когда LCM узла обновляется, он обращается к настроенному расположению для загрузки всех назначенных конфигураций. Если на узле отсутствуют какие-либо необходимые ресурсы, он автоматически загрузит их из настроенного расположения. Если узел настроен с сервером отчетов, он будет сообщать о состоянии операции.

Замечание

Этот раздел относится к PowerShell 5.0. Сведения о настройке опрашивающего клиента в PowerShell 4.0 см. в статье Настройка опрашивающего клиента с помощью идентификатора конфигурации в PowerShell 4.0

Настройка LCM опрашивающего клиента

Выполнение любого из приведенных ниже примеров создает новую выходную папку с именем PullClientConfigID и помещает туда MOF-файл метаконфигурации. В этом случае файл MOF метаконфигурации будет называться localhost.meta.mof.

Чтобы применить конфигурацию, вызовите командлет Set-DscLocalConfigurationManager , указав в поле Path расположение файла MOF метаконфигурации. Рассмотрим пример.

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

Идентификатор конфигурации

В приведенных ниже примерах для свойства ConfigurationID LCM устанавливается Guid , который был ранее создан для этой цели. ConfigurationID — это то, что LCM использует для поиска подходящей конфигурации на опрашивающем сервере. Файл MOF конфигурации на опрашивающем сервере должен иметь имя ConfigurationID.mof, где ConfigurationID — это значение свойства ConfigurationID LCM целевого узла. Дополнительные сведения см. в разделе Публикация конфигураций на опрашивающем сервере (версии 4/5).

Вы можете создать случайный Guid , используя приведенный ниже пример, или с помощью командлета New-Guid .

[System.Guid]::NewGuid()

Дополнительные сведения об использовании Guids в среде см. в разделе Планирование Guids.

Настройка Pull Client для скачивания конфигураций

Каждый клиент должен быть настроен в режиме Pull и ему должен быть присвоен URL опрашивающего сервера, на котором хранится его конфигурация. Для этого необходимо настроить Local Configuration Manager (LCM) с необходимой информацией. Для настройки LCM необходимо создать специальный тип конфигурации, украшенный атрибутом DSCLocalConfigurationManager . Дополнительные сведения о настройке LCM см. в разделе Настройка локального диспетчера конфигураций.

Пул-сервер HTTP DSC

Следующий сценарий настраивает LCM для извлечения конфигураций с сервера с именем "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

В скрипте блок ConfigurationRepositoryWeb определяет опрашивающий сервер. ServerUrl указывает URL-адрес DSC Pull

Поделиться для малого и среднего бизнеса

Следующий сценарий настраивает LCM для извлечения конфигураций из 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

В скрипте блок ConfigurationRepositoryShare определяет опрашивающий сервер, который в данном случае является просто общим ресурсом SMB.

Настройка Pull Client для загрузки ресурсов

Если в конфигурации LCM указан только блок ConfigurationRepositoryWeb или ConfigurationRepositoryShare (как в предыдущих примерах), опрашивающий клиент будет извлекать ресурсы из того же места, из которого он извлекает свои конфигурации. Вы также можете указать отдельные местоположения для ресурсов. Чтобы указать местоположение ресурса в качестве отдельного сервера, используйте блок ResourceRepositoryWeb . Чтобы указать расположение ресурса в качестве общей папки SMB, используйте блок ResourceRepositoryShare .

Замечание

Вы можете объединить ConfigurationRepositoryWeb с ResourceRepositoryShare или ConfigurationRepositoryShare с ResourceRepositoryWeb. Примеры этого ниже не показаны.

Пул-сервер HTTP DSC

Следующая метаконфигурация настраивает опрашивающий клиент для получения его конфигураций из CONTOSO-PullSrv , а его ресурсов — из 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

Поделиться для малого и среднего бизнеса

В следующем примере показана метаконфигурация, которая настраивает клиента для извлечения конфигураций из общей папки \\SMBPullServer\ConfigurationsSMB и ресурсов из общей папки \\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

Автоматическая загрузка ресурсов в режиме Push

Начиная с PowerShell 5.0, опрашивающие клиенты могут скачивать модули из общей папки SMB, даже если они настроены на режим принудительной отправки . Это особенно полезно в сценариях, когда вы не хотите настраивать опрашивающий сервер. Блок ResourceRepositoryShare можно использовать без указания ConfigurationRepositoryShare. В следующем примере показана метаконфигурация, которая настраивает клиента для извлечения ресурсов из общей папки \\SMBPullServer\ResourcesSMB. Когда узел отправляет конфигурацию, он автоматически загружает все необходимые ресурсы из указанного общего ресурса.

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

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

Настройка Pull Client для создания отчетов о состоянии

По умолчанию узлы не будут отправлять отчеты на настроенный опрашивающий сервер. Вы можете использовать один опрашивающий сервер для конфигураций, ресурсов и отчетов, но для настройки отчетов необходимо создать блок ReportRepositoryWeb .

Пул-сервер HTTP DSC

В следующем примере показана метаконфигурация, которая настраивает клиента для извлечения конфигураций и ресурсов, а также отправки данных отчетов на один опрашивающий сервер.

[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

Чтобы указать сервер отчетов, используется блок ReportRepositoryWeb . Сервер отчетов не может быть сервером SMB. Следующая метаконфигурация настраивает опрашивающий клиент для получения его конфигураций из CONTOSO-PullSrv и его ресурсов из CONTOSO-ResourceSrv, а также для отправки отчетов о состоянии в 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.

Дальнейшие шаги

После настройки опрашивающего клиента вы можете использовать следующие руководства для выполнения следующих шагов:

См. также