Не удалось выполнить файл конфигурации DSC

Я создал простой сценарий DSC, который, как я полагаю, является стандартным для загрузки IIS.

configuration IISInstall 
{ 
    node VISUALSTUDIOVM

    { 
        WindowsFeature IIS 
        { 
            Ensure = "Present" 
            Name = "Web-Server"                        
        } 
    } 
}

Я пытаюсь создать виртуальную машину Azure из Powershell.

Что я делаю:

  1. Я загружаю этот файл конфигурации в свою учетную запись хранилища Azure.

    Publish-AzureVMDscConfiguration -ConfigurationPath C:\AzureVirtualNetwork\Installiis.ps1 -StorageContext $context -Force
    
  2. Я создаю переменную $vm и устанавливаю расширение DSC

    $vm = Set-AzureVMDSCExtension -VM $vm -ConfigurationArchive "Installiis.ps1.zip"
    
  3. Затем я обновляю $vm

    $vm | Update-AzureVM
    

Я получаю сообщение об успешном выполнении операции, но IIS не устанавливается на машину.

Я что-то пропустил. $vm Я создаю компьютер с Windows Server 2012 R2.

Тот же сценарий DSC, когда я запускаю его после создания моей машины с помощью Start-DscConfiguration и указания пути MOF, работает нормально.

Журнал на целевой машине выглядит следующим образом:

Когда я проверяю файл журнала, я получаю эту ошибку, что нужно сделать

[14/01/2015 23:34:20.81] Выполнение: C:\Packages\Plugins\Microsoft.Powershell.DSC\1.5.0.0\bin\enable.cmd [14/01/2015 23:34:23.14] Выполнение завершено .

#

Выходные данные выполнения: VERBOSE: Проверка версии ОС... VERBOSE: Версия ОС: 6.3.9600.0 VERBOSE: Серверная ОС: True VERBOSE: ОС поддерживается; включение расширения.

Ошибка выполнения: C:\Packages\Plugins\Microsoft.Powershell.DSC\1.5.0.0\bin\enable.ps1: ошибка при включении расширения DSC: расширение DSC установлено неправильно, проверьте журналы на виртуальной машине. В C:\Packages\Plugins\Microsoft.Powershell.DSC\1.5.0.0\bin\pre-enable.ps1:51 char:5 + & $scriptRoot\enable.ps1 -Verbose + ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException, включить.ps1

#

Команда C:\Packages\Plugins\Microsoft.Powershell.DSC\1.5.0.0\bin\enable.cmd Microsoft.Powershell.DSC завершилась с кодом выхода: 0 плагин (имя: Microsoft.Powershell.DSC, версия: 1.5. 0.0) завершено успешно.


person Chirag Chheda    schedule 14.01.2015    source источник
comment
Вы пробовали это на нескольких виртуальных машинах, чтобы увидеть, всегда ли это дает сбой?   -  person Simon W    schedule 15.01.2015
comment
Да, всегда не получается :(   -  person Chirag Chheda    schedule 15.01.2015
comment
Что, если вы измените имя узла на localhost? node localhost   -  person kevmar    schedule 16.01.2015
comment
Он все еще не работает. Только если я получу свою целевую машину из удаленного сеанса powershell, я смогу запустить скрипт. Я заметил одну вещь: когда я наблюдаю за своей виртуальной машиной на панели инструментов Azure, она показывает мне ошибку в расширении DSC. Я не уверен, что это вызывает проблему, потому что тот же сценарий dsc при выполнении с целевой машины работает нормально.   -  person Chirag Chheda    schedule 19.01.2015
comment
Можете ли вы попробовать удалить расширение DSC на портале Azure? У нас была эта проблема здесь, и мы решили ее, удалив ее и позволив ей переустановить автоматически. Также убедитесь, что никто не вошел в виртуальную машину. Я думаю, что если там есть сеансы, машина не сможет правильно обновить расширение.   -  person julealgon    schedule 26.02.2015


Ответы (2)


Две вещи, которые я бы рекомендовал:

  1. @kevmar правильный, node localhost правильный
  2. Попробуйте более позднюю версию ОС. На вашей операционной системе работает расширение DSC версии 1.5.0.0, хотя существует как минимум версия 1.9.0.0. Попробуйте образ гостевой ВМ -ImageName 'a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201502.01-en.us-127GB.vhd' или более поздней версии.
person Grady G Cooper    schedule 14.05.2015

Я бы также проверил имя вашего .zip-файла в контейнере для хранения. В хранилище Azure используются строчные буквы. когда вы запускаете команду:

$vm = Set-AzureVMDSCExtension -VM $vm -ConfigurationArchive "Installiis.ps1.zip"

измените имя .zip на «installiis.ps1.zip»

person Mike Brown    schedule 24.10.2015