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

Как реагировать на запросы HyperV Stop-VM в сценарии PowerShell?

Я пишу сценарий для обслуживания нескольких виртуальных машин, работающих на Hyper-V.

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

Проблема в том, что Stop-VM запрашивает подтверждение, если возникают какие-либо проблемы, и, похоже, нет никакого способа автоматизировать ответ (в командлете нет переключателей для управления тем, что происходит в этих случаях, -confirm: $ false doesn не работает, -force - это противоположность тому, что я хочу, и отправка STDIN в командлет дает ошибку, поскольку он ожидает получить виртуальную машину через конвейер

Например, если службы интеграции недоступны, вам будет предложено принудительно завершить работу, на что я хотел бы ответить Нет на:


> stop-vm testvm01

    Confirm

    Hyper-V can't shut down virtual machine "testvm01" because the Shutdown integration service is unavailable. You can turn off the virtual machine by selecting [Y]es, but this is similar to pulling the power on a physical machine. To avoid potential data loss, select

    [N]o, then pause or save the virtual machine. Do you want to turn off the virtual machine?

    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): 

Как я могу написать сценарий ответа на это приглашение?