Я пытаюсь создать свой первый составной модуль ресурсов DSC для использования в службе автоматизации Azure, и, хоть убей, я не могу понять, какую глупость я упускаю из виду, что мешает экспортировать мои ресурсы DSC или использовать их в тесте. конфигурация, которую я создал. Моя первая попытка была большой и причудливой, с param
и импортированными другими DSCResouces, и она была великолепной и впечатляющей, и вообще не сработала.
Поэтому я решил создать суперпростую конфигурацию, используя блоки кода из моих несоставных конфигураций, и все они работают нормально. Я заархивировал все, что перечислено ниже, импортировал его в свои модули автоматизации Azure, и никаких действий не было экспортировано. Ошибок нет, вроде ничего не радует, но ничего не происходит. Модуль есть в списке, но ничего не делает.
Запуск тестовой конфигурации для него не позволяет сказать, что он не может импортировать модуль DefaultEnvironment, попробуйте импортировать модуль.
Я пробовал использовать обе следующие конфигурации, обе не работают по одной и той же причине:
configuration testdscconfig {
Import-Module TestDSC
Import-DscResource -Name DefaultRegistry
Import-DscResource -Name DefaultEnvironment
node localhost {
DefaultEnvironment SetDefaultEnvironment {}
DefaultRegistry SetDefaultRegistry {}
}
}
и
configuration testdscconfig {
Import-DSCResource -ModuleName TestDSC
node localhost {
DefaultEnvironment SetDefaultEnvironment {}
DefaultRegistry SetDefaultRegistry {}
}
}
Моя составная конфигурация DSC имеет такую структуру:
TESTDSC
│ TestDSC.psd1
│ TestDSC.psm1
│
└───DSCResources
├───DefaultEnvironment
│ DefaultEnvironment.psd1
│ DefaultEnvironment.schema.psm1
│
└───DefaultRegistry
Defaultregistry.psd1
DefaultRegistry.schema.psm1
TestDSC.psm1 - пустой файл. TestDSC.psd1 содержит:
@{
RootModule = "TestDSC.psm1"
ModuleVersion = '0.0.8'
GUID = <GUID>
Author = 'RobbieCrash'
CompanyName = 'Noncorp'
# DSC resources to export from this module
DscResourcesToExport = @(
'DefaultEnvironment'
'DefaultRegistry'
)
}
DSCResources \ DefaultRegistry \ DefaultRegistry.psd1:
@{RootModule="DefaultRegistry.schema.psm1"}
DSCResources \ DefaultRegistry \ DefaultRegistry.schema.psm1:
Configuration DefaultRegistry {
Registry SecureDotNetCryptox64 {
Ensure = "Present"
Key = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319\"
ValueName = "SchUseStrongCrypto"
ValueData = "1"
}
Registry SecureDotNetCryptox86 {
Ensure = "Present"
Key = "HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319"
ValueName = 'SchUseStrongCrypto'
ValueData = '1'
}
}
DefaultEnvironment настроен так же, с кажущимся безобидным блоком конфигурации. Удаление того или другого не имеет значения, компиляция не выполняется и никакие ресурсы не экспортируются.
Я пробовал установить RootModule=
на ".\Resource.schema.psm1"
и "Resource.schema.psm1"
, проверял случаи, проверял, что в коде нет ничего нестабильного, опечаток и т. Д.
Я уверен, что где-то упустил некоторые важные детали, но после просмотра 20 разных статей и StackExchange / связанных тем я сижу здесь, тупой и косоглазый о том, чего мне, должно быть, не хватает.