У меня есть шаблон виртуальной машины, который развертывает расширение DSC. Он работает нормально, но моя конфигурация растет, поэтому я реорганизовал его для использования составного ресурса и переиздал его для хранения памяти с помощью Publish-AzureRmVMDscConfiguration
.Использовать пользовательский составной ресурс с расширением Azure DSC
Я проверил, что файл .ps1.zip в хранилище blob содержит мой пользовательский модуль и что модуль указан в dscmetadata.json. Однако при развертывании расширение DSC не выполняется. Бревна под C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\2.17.0.0
выявить причину:
C: \ Packages \ Plugins \ Microsoft.Powershell.DSC \ 2.17.0.0 \ Bin .. \ DSCWork \ AppServerDev.ps1.0 \ AppserverDev.ps1
PSDesiredStateConfiguration \ node: модуль 'xCustomResource' может не загружаться. Для получения дополнительной информации запустите 'Import-Module xCustomResource'.
В C: \ Пакеты \ Плагины \ Microsoft.Powershell.DSC \ 2.17.0.0 \ DSCWork \ AppServerDev.ps1.0 \ AppserverDev.ps1: 9 знаков: 3
- узел "локальный"
- ~~~~
- CategoryInfo: ObjectNotFound: (xCustomResource \ xCustomResource: String) [PSDesiredStateConfiguration \ узел], ParentContainsErrorRecordException
- FullyQualifiedErrorId: CouldNotAutoLoadModule, PSDesiredSta teConfiguration \ узел
Вот соответствующие биты моего файла конфигурации:
configuration AppServerDev
{
param($environment)
Import-DscResource -ModuleName 'PSDesiredStateConfiguration'
Import-DscResource -ModuleName 'SaaSModule'
node "localhost"
{
LocalConfigurationManager
{
RebootNodeIfNeeded = $true
ConfigurationMode = "ApplyAndAutoCorrect"
ConfigurationModeFrequencyMins = 1440
}
xDCTPlatformVM VM {
OctopusParametersFile = $environment
ChocolateyPackages = @(
'googlechrome',
'notepadplusplus',
'7zip',
'microsoftwse',
'octopusdeploy.tentacle',
'sqlserver-cmdlineutils'
)
}
}
}
Запуск Get-Module -ListAvailable
показывает, что DankModule
найден, и я могу с помощью PowerShell, запустите Import-Module DankModule
и он работает как и ожидалось. Я предполагаю, что путаница исходит от него, пытаясь импортировать xCustomResource
, а не DankModule
но мой файл .ps1 под C:\Packages\Plugins\Microsoft.Powershell.DSC\2.17.0.0\DSCWork
говорит
Import-Module "DankModule"
и не
Import-Module "xCustomType"
Почему она пытается импортировать xCustomType
а не DankModule
? Как мне найти DankModule
, который доступен и содержит xCustomType
?
ОБНОВЛЕНИЕ: Get-Module -ListAvailable
показаны DankModule
, но Get-DSCResource -Module DankModule
ничего не возвращает.