Как вы автоматически распространяете настраиваемые ресурсы Desired State Configuration в рамках развертывания?

Я работаю над использованием Microsoft DSC Resource Kit (в частности, XWebAdministration, по крайней мере, для начала). Я относительно хорошо знаком с DSC, так что не беспокойтесь о фактической функциональности скрипта... он делает то, что должен, или, по крайней мере, я почти уверен, что он делает.

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

The PowerShell provider xWebAdministration does not exist at the PowerShell module 
path nor is it registered as a WMI provider.
    + CategoryInfo          : InvalidOperation: (root/Microsoft/...gurationManager 
   :String) [], CimException
    + FullyQualifiedErrorId : ModuleNameNotFound
    + PSComputerName        : [redacted]

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


person Daniel Mann    schedule 22.05.2014    source источник
comment
Это именно то, что отвратило меня от DSC, когда я попытался изучить его использование. Казалось, что простые вещи для начала просто недостаточно хорошо поддерживаются или, по крайней мере, документированы. Чтобы протестировать технологию, можно было бы вручную передать конфигурацию, которая зависит от некоторых пользовательских ресурсов, на целевую машину... Как это сделать с помощью DSC без необходимости сначала вручную копировать файлы в папку powershell? Использовать DSC для ускорения самих ресурсов? Если это так, то некоторая документация или учебник помогут объяснить это.   -  person jpierson    schedule 26.07.2016


Ответы (4)


Следите за следующим

http://www.powershellgallery.com/

PowerShellGet в powershell v5

https://github.com/OneGet/oneget

Также вот некоторая информация об этих http://www.systemcentercentral.com/day-14-finding-installing-modules-dsc-resources-powershellget/ и Установка модуля PowerShell

person Wes    schedule 18.10.2014
comment
С 2014 года все изменилось: сейчас я предпочитаю устанавливать предварительные требования через Install-Module. - person Daniel Mann; 07.02.2017

Вы можете настроить централизованный pull-сервер для DSC, с которого клиенты смогут получать конфигурацию и ресурсы. Проверить:

person Frode F.    schedule 22.05.2014
comment
Это единственный способ сделать это изначально? Для того, что я пытаюсь сделать, опрашивающий сервер мне не подходит. - person Daniel Mann; 22.05.2014
comment
АФАИК, Да. Два варианта: 1: Push (копирование файла/установка вручную) 2: Pull (pull-сервер). - person Frode F.; 23.05.2014

Если вы не хотите использовать опрашивающий сервер, единственный другой вариант, который у вас есть, — это вручную вытолкнуть ресурсы, либо сделав это с помощью файлового ресурса в вашей конфигурации (и используя «Зависит от»), либо скопировав их вручную в другое место. .

Я настоятельно рекомендую электронную книгу PowerShell.org по DSC. Он проведет вас через этот сценарий и многие другие. https://onedrive.live.com/?cid=7f868aa697b937fe&id=7F868AA697B937FE%21107

person Jacob Benson    schedule 22.05.2014
comment
Поправьте меня, если я ошибаюсь, но тогда мне все еще нужно решить проблему фактической загрузки файлов на целевые серверы. Это в среде без домена, поэтому у меня нет возможности получить файлы из общей папки SMB. - person Daniel Mann; 23.05.2014
comment
Еще одна причина использовать pull-сервер, где вам не нужны общие ресурсы smb. - person BartekB; 23.05.2014
comment
Вы можете использовать общие ресурсы SMB без домена, вам просто нужно указать имя пользователя (или иметь такое же имя учетной записи и пароль на удаленном компьютере), если они находятся в одной сети и открыты брандмауэры. - person Frode F.; 23.05.2014

Предполагая, что вы используете Windows Management Framework/PowerShell 5, вы можете использовать Install-Module для установки ресурса из веб-канала NuGet.

person Daniel Mann    schedule 09.06.2016