Обеспечение не удалось.Подготовка операционной системы для виртуальной машины «Имя виртуальной машины» не завершилась за отведенное время - PullRequest
0 голосов
/ 20 февраля 2019

Я новичок в Azure.Я пытаюсь создать ресурсы в Azure, используя powershell.

Мое требование - создать образ из виртуальной машины.Я следовал за способами сделать это:

Процесс 1: Сделайте это вручную
Обобщение ВМ: Вход в ВМ -> Открыть командную строку -> CD% windir% \ system32\ sysprep -> запустить sysprep.exe -> проверить кнопку обобщить -> Завершение работы.

Создание снимка: перейдите на портал Azure-> Перейдите к обобщенной виртуальной машине -> Нажмите кнопку «Захват» -> Укажите имя образа и укажите группу ресурсов и нажмите «Создать».

Это создаст образ.

Процесс 2: Сделайте это с powershell

   # create session of the VM

    $UserName = "$IPAddress\$adminUsername"
    $Password = ConvertTo-SecureString $adminPassword -AsPlainText -Force
    $psCred = New-Object System.Management.Automation.PSCredential($UserName, $Password)
    $s = New-PSSession -ComputerName $IPAddress -Credential $psCred

    # Run SysPrep for generalizing the VM

    $sysprep = 'C:\Windows\System32\Sysprep\Sysprep.exe'
    $arg = '/generalize /oobe /shutdown /quiet'
    Invoke-Command -Session $s -ScriptBlock {param($sysprep,$arg)Start-Process -FilePath $sysprep -ArgumentList $arg} -ArgumentList $sysprep,$arg

    #Stop the VM

    Stop-AzureRmVM -ResourceGroupName $ResourceGroupName -Name $virtualMachineName -Force


    # Generalize the VM

    Set-AzureRmVM -ResourceGroupName $ResourceGroupName -Name $virtualMachineName -Generalized

    # Create the Image

    $vm = Get-AzureRmVM -Name $virtualMachineName -ResourceGroupName $ResourceGroupName
    $image = New-AzureRmImageConfig -Location $location -SourceVirtualMachineId $vm.ID
    New-AzureRmImage -Image $image -ImageName $ImageName -ResourceGroupName $ResourceGroupName

Оба процесса создадут образ.Но проблема, с которой я здесь сталкиваюсь, заключается в том, что, когда я вращаю ВМ из образа, созданного из Процесса 1, он успешно создается без каких-либо проблем.
Но когда я вращаю ВМ из образа, созданного из Процесса 2, он создается, но нижесообщение об ошибке:

Не удалось подготовиться.Подготовка ОС для ВМ «Имя ВМ» не завершилась за отведенное время.Однако гостевой агент виртуальной машины был обнаружен работающим.Это говорит о том, что гостевая ОС не была должным образом подготовлена ​​для использования в качестве образа виртуальной машины (с CreateOption = FromImage).

Может кто-нибудь сказать мне, что я делаю неправильно со скриптом powershell, чтоЯ получаю эту ошибку.

Ответы [ 2 ]

0 голосов
/ 10 марта 2019

Время, похоже, является проблемой.

Sysprep обычно занимает 10-15 минут, у вас нет времени на сон.Вы выключаете виртуальную машину, как только сценарий sysprep отправляется, и у вас нет времени для фактического запуска системы sysprep.

Вы можете поставить время ожидания или цикл, чтобы проверить, находится ли виртуальная машина в состоянии Stopped.

0 голосов
/ 21 февраля 2019

В Azure есть довольно много документов по оформлению документов и созданию виртуальных машин из образов.Как показывает ошибка, вы, вероятно, пропустили шаг.

Если вы загружаете виртуальный жесткий диск из Prem Premier для использования в Azure, начните с этих документов

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/prepare-for-upload-vhd-image

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/upload-generalized-managed

ЕслиВиртуальная виртуальная машина, с которой вы снимаете образ, уже находится в Azure и работает, затем начните с этих

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/capture-image-resource

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/create-vm-generalized-managed?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json

Последняя ссылка показывает, как создатьвиртуальная машина из этого образа через портал или простая команда PS

New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVMfromImage" `
    -ImageName "myImage" `
    -Location "East US" `
    -VirtualNetworkName "myImageVnet" `
    -SubnetName "myImageSubnet" `
    -SecurityGroupName "myImageNSG" `
    -PublicIpAddressName "myImagePIP" `
    -OpenPorts 3389
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...