1

Мне нужно приостановить работу виртуальных машин, когда хост-система (Windows 7 Pro, последняя версия VMware Workstation: 9.0.1 build-894247) выключается (в VMware Workstation включена функция "Поддерживать работу виртуальных машин после закрытия рабочей станции"). Используя gpedit.msc, я добавил скрипт завершения работы, содержащий следующее:

del c:\shutdown_script_was_executed.txt

"C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" suspend "C:\myvms\sampleVM\sampleVM.vmx"
"C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" suspend "C:\myvms\sampleVM2\sampleVM2.vmx"
"C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" suspend "C:\myvms\sampleVM3\sampleVM3.vmx"

echo 1 > c:\shutdown_script_was_executed.txt

Сценарий отлично работает, когда выполняется вручную (виртуальные машины приостановлены), и он также выполняется при завершении работы (создается c:\shutdown_script_was_executed.txt), однако при повторном включении хоста и запуске VMware Workstation виртуальные машины отключаются и не приостановлено

Есть идеи, почему это происходит? Почему они не приостановлены?

Спасибо за любую подсказку!

2 ответа2

2

Решение: запустите виртуальную машину как общую виртуальную машину (http://blogs.vmware.com/workstation/2012/02/vmware-workstation-8-as-an-alternative-to-vmware-server.html) и используйте завершение работы Windows сценарий (выход из системы не будет работать (проверка вашего сценария в качестве локального администратора также не удалась по той же причине), потому что совместно используемые виртуальные машины выполняются службой, работающей как более привилегированный пользователь (вероятно, SYSTEM, не проверял). Используйте vmrun.exe с параметром suspend в скрипте завершения работы.

0

Это происходит из-за сроков. Когда ваш скрипт завершения работы выполнен, процесс (ы) виртуальной машины уже завершился. Вы можете подтвердить это, запустив в своем скрипте завершения работы вывод vmrun list который сообщит вам, что существует 0 запущенных виртуальных машин.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .