Виртуальная машина, созданная из образа с помощью Azure Powershell, не задает имя_компьютера - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть образ Azure, который, когда я использую Azure Powershell для создания виртуальной машины, несмотря на то, что в сценарии я установил имя_компьютера, создает виртуальную машину без установки в качестве имени_компьютера указанного значения.

Сценарий:

$ImageName = 'MyImage'
$RsgName = 'MyRsg'
$VmName = 'MyNewVM'
$DiagnosticStorageName = 'diagnosticsstore5048'

$cred = Get-Credential -Credential 'TheAdmin'

$Image = Get-AzureRmImage -ImageName $ImageName -ResourceGroupName $RsgName

# Get NIC
$nic = Get-AzureRmNetworkInterface -ResourceGroupName $RsgName

# Configure the new VM
$Vm = New-AzureRmVMConfig -VMName $VmName -VMSize 'Standard_A2_v2'
$Vm = Set-AzureRmVMSourceImage -VM $Vm -Id $Image.Id
$Vm = Set-AzureRmVMOSDisk -VM $Vm -Name $VmName'-disk' -StorageAccountType 'StandardLRS' -DiskSizeInGB '128' -CreateOption FromImage -Caching ReadWrite
$Vm = Add-AzureRmVMNetworkInterface -VM $Vm -Id $nic.Id
$Vm = Set-AzureRmVMBootDiagnostics -VM $Vm -Enable -ResourceGroupName $RsgName -StorageAccountName $DiagnosticStorageName
$Vm = Set-AzureRmVMOperatingSystem -VM $Vm -Windows -ComputerName 'dor' -Credential $Cred -ProvisionVMAgent

New-AzureRmVM -VM $Vm -ResourceGroupName $RsgName -Location 'West Europe' -DisableBginfoExtension

В последний раз, когда я запускал сценарий для создания виртуальной машины, он оставил новую виртуальную машину с именем компьютера «WIN-I80O6J22ENS» Изображение было создано в соответствии с процессом здесь: https://docs.microsoft.com/en-gb/azure/virtual-machines/windows/capture-image-resource?toc=%2Fazure%2Fvirtual-machines%2Fwindows%2Fclassic%2Ftoc.json

UPDATE Многие люди думают, что я не обобщаю образ правильно, поэтому я хотел бы добавить здесь, как я это делаю. Внутри виртуальной машины я бегу:

Start-Process -FilePath $env:windir\System32\Sysprep\Sysprep.exe -ArgumentList "/generalize /oobe /shutdown /unattend:$env:windir\System32\Sysprep\unattend.xml"

Unattend.xml имеет только одну настройку, которая должна шагать по часовой стрелке.

После того, как это будет завершено, и ОС ВМ будет закрыта, я запускаю следующее, чтобы получить ВМ, остановить ее и установить для нее значение Обобщено:

# Shutdown Source VM & Generalize
$SourceVM = Get-AzureRmVM -ResourceGroupName $SourceRsg -Name $SourceVMName
$Null = Stop-AzureRMVM -ResourceGroupName $SourceRsg -Name $SourceVMName -Force
Write-Host 'Stopped Source VM'

Set-AzureRmVm -ResourceGroupName $SourceRsg -Name $SourceVMName -Generalized
Write-Host 'Set Source VM to Generalized'

Я заметил, что при запуске последней команды выдается:

OperationId:
Статус:
StartTime:
EndTime:
Ошибка:

Это фактически не говорит, было ли это успешно или нет?

После этого я создаю образ с диска виртуальной машины.

Ответы [ 3 ]

0 голосов
/ 13 ноября 2018

Если у вас есть специализированный образ, имя компьютера будет отсутствовать, поскольку имя старого компьютера и имя нового компьютера имеют одинаковые номера RID и SID, и в идеальной ситуации каждое развертывание виртуальной машины имеет разные номера RID и SID. Имя компьютера может отображаться, если изображение является обобщенным.

Проверьте эту статью для получения дополнительной информации:

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/create-vm-specialized

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

0 голосов
/ 13 ноября 2018

Из вашего описания проблемы все пытаются уловить мысль, что изображение не было правильно обобщено или аспект обобщения не удался.

Скрипт отлично работает с моей стороны, поэтому единственная проблема - с изображением. Скриншот

Попробуйте другое развертывание из этого образа, и вы увидите, что вы получаете то же имя компьютера (WIN-I80O6J22ENS).

Если вы получили то же имя, которое является верным подтверждением проблемы с обобщением.

Если имя меняется, это может означать, что на изображенном вами компьютере есть политика, которая не принимает имя dor, поэтому система генерирует имя по умолчанию.

В любом случае проблема не связана с Powershell или Azure. Надеюсь, это поможет.

0 голосов
/ 13 ноября 2018

Это может быть вызвано тем, что изображение не является «Обобщенным» .

Взгляните на Создание управляемого образа обобщенной виртуальной машины в Azure guide.

Надеюсь, это поможет!

...