Назад | Перейти на главную страницу

Настройка загрузочного компакт-диска виртуальной машины через PowerCLI

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

У меня есть виртуальная машина VMware в $ vm, и я пытаюсь назначить ей загрузочный компакт-диск. $ vm выключен.

Документированный метод кажется довольно простым:

Set-CDDrive -CD (Get-CDDrive -vm $vm) -IsoPath "[datastorename] \whatever.iso" -StartConnected 1

Теперь, когда я запускаю виртуальную машину, она сразу же пытается выполнить PXEboot. Я выключаю машину и в клиенте vSphere редактирую свойства виртуальной машины, перехожу к «Привод CD / DVD 1» и проверяю, что «Состояние устройства» имеет галочку рядом с «Подключаться при включении».

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

Я делал это снова и снова, с открытой консолью, с закрытой, и каждый раз я могу установить флаг StartConnected в CLI, а графический интерфейс отражает настройку, но только после того, как я установил флажок вручную, это действительно загрузиться с ISO.

Есть ли шаг, который я не выполняю в PowerCLI, чтобы заставить этот параметр «принять»?

Первая обратная косая черта в ISOPath вполне может быть проблема. Я делаю то же самое в наших сценариях подготовки, это выглядит так:

Get-CDDrive $VM | Set-CDDrive -IsoPath "[DATASTORE] ISO\BOOT.ISO" -StartConnected:$true -Confirm:$false

Кроме того, если вы предоставляете логические значения аргументам, которые принимают логическое значение (например, StartConnected), попробуйте взять за привычку использовать точку с запятой, как в примере выше. Если у вас есть командлет функции, который принимает более одного безымянного аргумента, ваш 1 может быть неверно истолковано как новый аргумент в вызове функции, а не как значение заданного вами аргумента.

Итак, не используйте -StartConnected 1, а лучше использовать -StartConnected:1 или -StartConnected:$true.

Из справочника PowerCLI в Интернете я вижу следующий пример (замените значение после -ISOPath с вашим хранилищем данных и именем / путем для файла .iso, например"[yourdatastore] IsoFolder\$iso"):

$cd = New-CDDrive -VM $vm -ISOPath "[sof-20666-esx:storage1] ISO\testISO.iso"
Set-CDDrive -CD $cd -StartConnected -Connected