我需要在夜间将 Windows 7 上的 Windows Virtual PC 作为计划任务启动,以便它能够获取 Microsoft 补丁和防病毒更新。这需要在无人登录主机系统时进行。当我尝试运行任务来执行此操作时,我收到“访问被拒绝”提示。
答案1
以下是我完成这项工作的步骤。感谢 Zdenek Brydl 在 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}”键。这是 64 位 Windows 7 系统上 Virtual PC 的键。(在 32 位系统上,它应该是“HKEY_CLASSES_ROOT\AppID{f375390d-5d01-4106-ae15-674be971c676}”)
- 右键单击 {f375390d-5d01-4106-ae15-674be971c676} 键并选择权限...
- 单击权限窗口中的高级按钮,然后选择所有者选项卡。在更改所有者下选择本地管理员组,然后单击应用,然后单击确定。
- 然后在“权限”窗口下,选择本地管理员组,在管理员的权限下选择“完全控制”,单击“应用”,然后单击“确定”。
- 注意:请勿修改/更改 TrustedInstaller 帐户的任何权限,因为这是默认权限,如果更改或删除,可能会导致更多问题。
- 现在运行组件服务管理控制台(dcomcnfg.exe),您应该能够修改 Virtual PC 的一些设置。
- 导航到组件服务 - 计算机 - 我的电脑 - DCOM 配置 - 虚拟 PC。
- 右击并选择“属性”。在“属性”对话框中,单击“身份”选项卡并选择“启动用户”。
- 在“安全”选项卡上,选择“自定义”,然后单击“编辑”以将正确的用户帐户(在我的情况下是本地管理员)添加到启动和激活、访问和配置权限。
进行这些更改后,您将能够设置计划任务以本地管理员或您配置的其他帐户启动虚拟机。有几种方法可以做到这一点,但最简单的方法是创建一个批处理文件,该文件只启动所需虚拟机的 .VMCX 文件(虚拟机配置文件)。然后您的计划任务将只运行该批处理文件。或者,您可以将其放在 Powershell 脚本 (PS1) 文件中,并让任务以该脚本作为参数运行 Powershell。我选择了这个选项。
警告/警告
一旦您的计划任务启动了虚拟机,其他任何碰巧以交互方式登录主机并想要使用它的用户都将无法使用它。因此,您需要确保在空闲时间执行此操作,并且还需要在虚拟机上设置计划任务,使其在一定时间后自动关闭。如果您让它继续运行,它将继续消耗主机上的系统资源,并且对交互式用户毫无用处。
答案2
您可以设置一个计划任务来运行 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