Когда я запускаю команду выключения ACPI на гостевой машине Windows XP с хост-сервера VM, я хочу, чтобы Windows выключилась.
Проблема в том, что Windows всегда хочет задать тот или иной вопрос, а не просто отключиться. Мне нужно, чтобы отключение было надежным, независимо от того, что запущено или происходит, чтобы я мог автоматизировать выключения с главного компьютера. Но я хочу, чтобы это было как можно более изящно, а не просто выдергивало пробку.
Некоторые проблемы:
Если пользователь вошел в систему, завершение работы ACPI приводит к появлению поля с надписью: «Вы уверены, что хотите завершить работу, когда другие пользователи вошли в систему»? И это предотвращает отключение, пока кто-то не подключится к машине и не нажмет "да". В этом случае следует постараться изящно выйти из системы всех пользователей, при необходимости применяя силу, а затем завершить работу без продвижения.
Занятые или не отвечающие программы или программы, запрашивающие сохранение данных, могут препятствовать завершению работы Windows до тех пор, пока пользователь не ответит на запрос. Это должно попытаться сохранить данные, подождать, может быть, 30 секунд для не отвечающих программ, но должно стать агрессивным с упрямыми программами. "Нет, время вышло! 3,2,1, до свидания!"
Есть ли параметр реестра, который я могу изменить:
ACPI_Shutdown: "Shut down if Windows feels like it"
в
ACPI_Shutdown: "Just do it. Kill programs, bump users, try to be graceful about it, but when I come back, I expect you to be off."
Это должно отвечать на команду выключения ACPI, а не быть сценарием в Windows, если только этот сценарий не запускается кнопкой питания ACPI. Я надеюсь, что это можно изменить с помощью параметров реестра.