PowerShell: как установить модули DSC Resource Kit Wave 8?

Я пытаюсь настроить опрашивающий сервер DSC на компьютере с Windows 2012 R2, следуя этой статье technet:

http://technet.microsoft.com/en-us/library/dn249913.aspx

Однако я просто не могу заставить модули работать. В инструкции по установке написано:

Чтобы установить все модули DSC Resource Kit, разархивируйте содержимое в

$env:ProgramFiles\WindowsPowerShell\Modules 

Чтобы подтвердить установку, запустите Get-DSCResource и убедитесь, что все ресурсы на этой странице входят в список ресурсов DSC.

Поэтому я скопировал содержимое папки «DSC Resource Kit Wave 8 10282014» в C:\Program Files\WindowsPowerShell\Modules, которое теперь выглядит следующим образом:

c:\Program Files\WindowsPowerShell\Modules>tree
├───cFileShare
│   ├───DSCResources
│   │   ├───VSAR_cCreateFileShare
│   │   └───VSAR_cSetSharePermissions
│   ├───Examples
│   ├───ResourceDesignerScripts
│   └───Unit Tests
├───xActiveDirectory
│   ├───DSCResources
│   │   ├───MSFT_xADDomain
│   │   ├───MSFT_xADDomainController
│   │   ├───MSFT_xADDomainTrust
│   │   ├───MSFT_xADUser
│   │   └───MSFT_xWaitForADDomain
│   └───Misc
├───xAdcsDeployment
│   ├───DSCResources
│   │   ├───MSFT_xAdcsCertificationAuthority
│   │   └───MSFT_xAdcsWebEnrollment
│   └───xCertificateServices
│       ├───DSCResources
│       │   ├───MSFT_xAdcsCertificationAuthority
│       │   └───MSFT_xAdcsWebEnrollment
│       └───Examples
[...]

Затем я перезапустил свою консоль PowerShell, чтобы убедиться, что она перезагружает $env:PSModulePath, который, кстати, содержит это (добавлен перенос строк вручную для лучшей читабельности):

PS C:\Users\Administrator> $env:PSModulePath
C:\Users\Administrator\Documents\WindowsPowerShell\Modules;
C:\Program Files\WindowsPowerShell\Modules;
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\

Так что здесь все почти по умолчанию. Однако get-module -ListAvailable просто не слушает ни один из вышеперечисленных модулей, например. xPSDesiredStateConfiguration. Кроме того, командлет Get-DscResource не возвращает никаких ресурсов, поставляемых с этим модулем (особенно xDSCWebService — это ресурс DSC, который я ищу для настройки опрашивающего сервера).

Если я вручную скопирую содержимое xPSDesiredStateConfiguration\DSCResources\* в одну из папок пути к модулям, я сделаю просмотр ресурсов DSC. Однако сценарий установки pull-сервера (Sample_xDscWebService.ps1) не работает. Открыв редактор, он показывает мне синтаксическую ошибку рядом с:

Import-DSCResource -ModuleName xPSDesiredStateConfiguration

Я просто не могу понять, что я делаю неправильно здесь. Итак, как я могу установить DSC Resource Kit?


person Matthias Güntert    schedule 31.10.2014    source источник
comment
Вы разблокировали файл после скачивания? В противном случае разархивированные файлы также могут иметь пометку сети. Вы можете использовать Unblock-File из Powershell или просто щелкнуть правой кнопкой мыши, свойства, разблокировать. Если это так, вероятно, проще удалить дерево каталогов, разблокировать zip и снова разархивировать.   -  person briantist    schedule 31.10.2014
comment
И еще одно, убедитесь, что ваша политика выполнения настроена на выполнение скрипта (попробуйте с Unrestricted или Bypass).   -  person briantist    schedule 31.10.2014
comment
Я только что попробовал dir * | unblock-file из папки модулей, но безуспешно. также установка неограниченной политики выполнения ничего не изменила. Правильно ли я создал структуру папок модуля?   -  person Matthias Güntert    schedule 31.10.2014
comment
Мне это кажется правильным; это соответствует моему дереву (хотя я все еще на волне 6), и мое работает.   -  person briantist    schedule 31.10.2014
comment
Значит, ваши тоже в пределах C:\Program Files, а не в пределах C:\Program Files (x86)? Я также понял, что импорт модуля с помощью import-module xPSDesiredStateConfiguration не показывает экспортированных команд (get-module), однако модуль загружается нормально...   -  person Matthias Güntert    schedule 31.10.2014
comment
То же самое происходит с волной 6... странно, что get-module -ListAvailable не показывает ни один из xModules   -  person Matthias Güntert    schedule 31.10.2014
comment
Давайте продолжим обсуждение в чате.   -  person Matthias Güntert    schedule 31.10.2014


Ответы (3)


У меня такая же проблема. После установки 3 обновлений (KB2894029, KB2894179 и KB2883200) все работает ;)

person koozka    schedule 17.03.2015

Эта проблема, похоже, связана с некоторыми отсутствующими исправлениями. К сожалению не знаю какой. Ссылка на сообщение в блоге ниже упоминает KB2883200. Но установка его в моей системе ничего не изменила.

Однако он работает на другом полностью исправленном сервере Windows 2012 R2. К сожалению, на работе у меня нет свободного доступа, чтобы обновить установленный вручную сервер до последней доступной версии.

http://blogs.msdn.com/b/powershell/archive/2013/12/26/holiday-gift-desired-state-configuration-dsc-resource-kit-wave-1.aspx

person Matthias Güntert    schedule 31.10.2014

У меня была эта ошибка, и я ее исправил!
См. запись в моем блоге по адресу http://tfl09.blogspot.com//2015/04/using-dsc-resource-kit-hot-fixes-may-be.html

Это местоположение указывает на конкретные исправления, которые вам нужны.

person Thomas Lee    schedule 07.04.2015