Могу ли я сохранить ресурс DSC на основе класса в отдельном файле из файла PSM?

В настоящее время для своих модулей я сохраняю фактический код в отдельном файле из файла PSM1, затем создаю его и использую Export-ModuleMember для экспорта функций, таким образом, это позволяет мне легко отлаживать/тестировать отдельные функции.

Я предполагаю, что это невозможно, поскольку Export-ModuleMember не дает возможности экспортировать DSCResource, но возможно ли иметь аналогичную настройку для ресурсов DSC на основе классов?


person Gregory Suvalian    schedule 25.05.2016    source источник
comment
Вы экспортировали ресурсы в поле DscResourcesToExport? Ресурсы на основе класса должны быть указаны в этом поле в манифесте модуля, что также означает обязательное указание манифеста модуля для этого модуля.   -  person Nana Lakshmanan    schedule 27.05.2016
comment
Да. Судя по всему, это баг, о котором никто не сообщал. Согласно powershell.org (powershell.org/forums/ тема/) и сообщение ниже   -  person Gregory Suvalian    schedule 28.05.2016


Ответы (2)


Обнаружена ошибка в WMF 5.0. Пожалуйста, проголосуйте.

https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/14288805-nested-modules-does-not-work-invoke-dscresource

person Gregory Suvalian    schedule 31.05.2016

  1. У вас может быть модуль, содержащий множество ресурсов на основе класса DSC.
  2. В этом модуле у вас может быть 1 класс на файл, но вы не можете разделить его дальше (например, метод Test в одном файле, метод Set в другом).
  3. Powershell не поддерживает частичные классы.
person N.Gupta    schedule 25.05.2016
comment
В этой теме невозможно разместить их в отдельных файлах powershell.org/forums/topic/ - person Gregory Suvalian; 25.05.2016
comment
Да, вы можете запустить WMF 5.0 RTM. Посмотрите пример @ github.com/nitinbps/DSCResources/tree/master/. . - person N.Gupta; 26.05.2016
comment
Это не работает с Invoke-DSCResource, хотя попробуйте ниже Invoke-DscResource -Name nestedA -ModuleName MultiClassesNestedModulesSameDir -Method Test -Property @{path = "c:\"} - person Gregory Suvalian; 26.05.2016
comment
Когда я начал тестировать его больше, я также понял, что вложенный модуль не работает должным образом в WMF 5.0 RTM. - person N.Gupta; 27.05.2016