#powershell #azure #powershell-dsc
#powershell #azure #powershell-dsc
Вопрос:
Я пытаюсь написать сценарий DSC, который будет опубликован на виртуальной машине Azure. До сих пор мне удавалось выполнять базовые вещи, такие как включение функций Windows и создание каталогов. Но теперь я хочу установить chocolatey на виртуальную машину Azure. Итак, это мой сценарий
configuration IIsAspNetInstall
{
Import-DscResource -ModuleName cChoco
node "localhost"
{
WindowsFeature IIS
{
Ensure="present"
Name="web-server"
}
WindowsFeature InstallDotNet45
{
Name = "Web-Asp-Net45"
Ensure = "Present"
}
WindowsFeature InstallIISConsole
{
Name = "Web-Mgmt-Console"
Ensure = "Present"
}
File WebsiteFolderCreate
{
Ensure = "Present"
Type = "Directory"
DestinationPath = "C:inetpubwwwrootAdventureWorks"
Force = $true
}
cChocoInstaller installChoco
{
InstallDir = "C:choco"
}
}
}
На моем локальном компьютере я использую PowerShell 5.0, и внутри ISE я получаю красные волнистые строки с Import-DscResource
надписью «не удается найти имя модуля cChoco». Я знаю, что это ключевое слово и должно быть допустимым внутри раздела конфигурации. Когда я это делаю Publish-AzureVMDscConfiguration
, я получаю ошибку синтаксического анализа
Import-DscResource -ModuleName cChoco
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Could not find the module 'cChoco'.
Комментарии:
1. Установлен ли модуль cChoco на компьютере? В сообщении об ошибке довольно ясно указано, в чем проблема.
2. Я думал, что Import-DscResource импортирует его, но потом я обнаружил, что могу использовать Install-Module и установить модуль. Спасибо, что указали на это.
Ответ №1:
Вы можете объединить модуль в пакет DSC либо вручную (поместив его во вложенную папку a в zip-файле), либо с помощью командлетов Publish-AzureVMDSCConfiguration . Если модуль установлен на компьютере, на котором вы запускаете командлет, он просмотрит все инструкции import module в вашем файле PS1 и упакует их для вас — один пакет, когда вы запускаете скрипт на целевом компьютере, модули также будут установлены автоматически…
Комментарии:
1. Я обнаружил то, что вы сказали в одном из сообщений в блоге по устранению неполадок о DSC. Я заметил, что cChoco был упакован.