Мне нужно запустить Windows Virtual PC на Windows 7 как запланированную задачу на ночь, чтобы она могла получать исправления Microsoft и обновления антивируса. Это должно произойти, пока никто не вошел в систему хоста. Когда я пытаюсь запустить задачу для этого, я получаю Отказ в доступе.
2 ответа
Ниже приведены шаги, которые я прошел, чтобы заставить это работать. Спасибо Зденеку Бридлу за его прорывную публикацию на форумах Windows, которая направила меня в правильном направлении. http://social.technet.microsoft.com/Forums/en/w7itprovirt/thread/2e83b9fc-a6f4-4c4f-b89f-d6cf756f18d2
Подробности:
По умолчанию Virtual PC заблокирован, поэтому запускать его может только интерактивный пользователь. Это означает, что вы не сможете запустить его как фоновую задачу без изменения конфигурации DCOM.
- Запустите Regedit.exe и найдите ключ «HKEY_CLASSES_ROOT\Wow6432Node\AppID {f375390d-5d01-4106-ae15-674be971c676}». Это ключ для Virtual PC в 64-битной системе Windows 7. (В 32-разрядной системе это должно быть «HKEY_CLASSES_ROOT\AppID {f375390d-5d01-4106-ae15-674be971c676}»)
- Щелкните правой кнопкой мыши клавишу {f375390d-5d01-4106-ae15-674be971c676} и выберите Разрешения ...
- Нажмите кнопку «Дополнительно» в окне «Разрешения» и выберите вкладку «Владелец». В разделе «Изменить владельца» выберите локальную группу «Администраторы» и нажмите «Применить», затем нажмите «ОК».
- Затем в окне «Разрешения» выберите локальную группу «Администраторы», а в разделе «Разрешения для администраторов» выберите «Полный доступ», нажмите «Применить», затем нажмите «ОК».
- ПРИМЕЧАНИЕ. НЕ изменяйте / не изменяйте какие-либо разрешения для учетной записи TrustedInstaller, так как это разрешение по умолчанию и может привести к дальнейшим проблемам в случае изменения или удаления.
- Теперь запустите консоль управления служб компонентов (dcomcnfg.exe), и вы сможете изменить некоторые параметры для Virtual PC.
- Перейдите к Сервисам компонентов - Компьютеры - Мой Компьютер - Конфигурация DCOM - Виртуальный ПК.
- Щелкните правой кнопкой мыши и выберите «Свойства». В диалоговом окне «Свойства» перейдите на вкладку «Удостоверение» и выберите «Запускающий пользователь».
- На вкладке «Безопасность» выберите «Настроить» и нажмите «Изменить», чтобы добавить правильную учетную запись пользователя (локальный администратор в моем случае) в разрешения на запуск и активацию, доступ и настройку.
После внесения этих изменений вы сможете настроить запланированное задание для запуска ВМ в качестве локального администратора или другой настроенной вами учетной записи. Есть несколько способов сделать это, но проще всего создать командный файл, который просто запускает.Файл VMCX (файл конфигурации виртуальной машины) для нужной вам виртуальной машины. Тогда ваше запланированное задание просто запустит этот пакетный файл. В качестве альтернативы вы можете поместить его в файл сценария Powershell (PS1) и запустить задачу Powershell с этим сценарием в качестве аргумента. Я пошел с этим вариантом.
Предостережение / Предупреждение
Как только запланированное задание запустит виртуальную машину, она станет недоступной для любых других пользователей, которые случайно подключились к хост-машине и хотят ее использовать. Итак, вы захотите убедиться, что вы делаете это в медленное время, и вам также нужно настроить запланированное задание на ВМ, чтобы оно само отключалось через определенный период времени. Если вы оставите его запущенным, он продолжит поглощать системные ресурсы на хосте и будет бесполезен для интерактивных пользователей.
Вы можете настроить запланированное задание для запуска Virtual PC.exe (независимо от того, вошел ли пользователь в нашу учетную запись).
Шаг первый - создать командную строку для запуска виртуальной машины: http://letitknow.wordpress.com/2012/02/29/command-line-reference-for-microsoft-virtual-pc/
Шаг второй - построить командную строку, чтобы остановить виртуальную машину
Шаг третий - запланировать два сценария. Обязательно установите аутентифицирующий пользователя и пароль и используйте самые высокие доступные привилегии. http://windows.microsoft.com/en-US/windows7/schedule-a-task