Я пытаюсь применить конфигурацию DSC, которая использует ресурс из установленного модуля. Однако когда я бегу Start-DscConfiguration
, Я получаю эту ошибку:
Ресурс PowerShell DSC ******** не существует в пути к модулю PowerShell и не зарегистрирован как ресурс WMI DSC.
+ CategoryInfo: InvalidOperation: (root / Microsoft / ... gurationManager: String) [], CimException
+ FullyQualifiedErrorId: DscResourceNotFound
Однако, когда я вхожу на сервер и запускаю Get-DscResource
, недостающий ресурс является там.
Почему DSC не может найти ресурс?
Версия модуля, частью которого являются ресурсы DSC, различалась на моем локальном компьютере и на сервере. На моем локальном компьютере, где моя конфигурация преобразуется в файлы MOF, у меня была версия 2.2.0 (код для краткости вырезан):
instance of ******** as $********1ref
{
ModuleName = "********";
ModuleVersion = "2.2.0";
};
Но на сервере была версия 2.1.0:
> Get-Module -ListAvailable
Directory: C:\Program Files\WindowsPowerShell\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 2.1.0 ******** ********
Этот конкретный модуль доступен на Галерея PowerShell. Вызов Update-Module
получил последнюю версию на свой сервер. Я также мог бы понизить версию своего локального компьютера.
Я столкнулся с той же проблемой ... оказалось, что моя проблема была не в несоответствии версии модуля, а в несоответствии версии Powershell. Моя рабочая станция - это версия 5, но конечной точкой была версия 4 (2012 R2 из коробки).
После установки WMF 5.1 на удаленный сервер он распознал и установил IIS с помощью модуля xWebAdministration.
До этого он жаловался, что не мог его найти. Переменная пути была такой же на другом настроенном веб-сервере. Единственным отличием была версия Powershell.