千家信息网

虚拟机关机,强制关闭任务的方法

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本文来自于一次工程实践,把所得的经验记录于此,希望对后来者有所帮助。公司购买了一台PC机,正版Win10家庭版,用来做财务部门的用友服务器。同时也安装用友客户端,以供财务人员远程桌面登录,这样就不用挨
千家信息网最后更新 2026年10月31日虚拟机关机,强制关闭任务的方法

本文来自于一次工程实践,把所得的经验记录于此,希望对后来者有所帮助。

公司购买了一台PC机,正版Win10家庭版,用来做财务部门的用友服务器。同时也安装用友客户端,以供财务人员远程桌面登录,这样就不用挨个在物理主机上安装客户端了,需要几个客户端就克隆几个虚拟机并打开远程桌面权限即可。

因为软件版本较老,售后说最好是XP系统,鉴于新出的PC连安装WIN7都很繁琐(需要注入XHCI的驱动,否则无法使用USB设备),更别提XP了,所以只能采用虚拟机模式安装。

在虚拟机的选择上,Hyper-V和VMware workstion都试过,但发现前者的显示比例只能是方屏,不能填满目前的宽屏显示器,财务软件因为显示面积的限制而无法使用,此外还需要把Win10家庭版升级到专业版,这就无法激活,失去了正版的优势;VMware workstation则显示效果很好,能扩大到全屏幕以充分利用显示器的面积,所以最后保留了VMware workstation Pro 15。

为了省电和延长机器使用寿命,设置了自动开关机功能。由于财务部门只在工作日上班,所以在BIOS里设置周一到周五早上7:00自动开主机,在WIN10的计划任务里设置下午6点自动关主机。开主机之后运行批处理打开所有虚拟机,关主机之前先关闭所有虚拟机。

当这一切都配置完毕,正常运行了几天之后,忽然发现虚拟机无法关机,原因是财务人员在远程桌面上没有退出客户端,此时如果用vmrun命令行关虚拟机,财务客户端会弹出窗口询问"是/否",然后XP弹出强行关闭程序的对话框,于是虚拟机关机流程就卡在这里了:

为解决此问题,可以编写vbs脚本,模拟键盘发送字母E,这样就强行关闭了当前程序,XP关机得以完成,但虽然我写出了脚本,却发现无法用vmrun在虚拟机里运行这个vbs脚本(如果你知道,欢迎在评论区说明,我会在这里把你列为感谢作者)。但运行bat还是可以的,于是经过百度,把bat和vbs合二为一:

批处理off.bat,存放于虚拟机D盘根目录,在关闭XP之前,由物理主机从外部调用运行,延迟10秒发送按键E。

Sub batstart wscript -e:vbs "%~f0"Exit SubEnd Subrem ------------以下是vbs脚本-------------Set objShell=CreateObject("Wscript.Shell")WScript.Sleep 10000objShell.SendKeys"{E}"

开机批处理start.bat,物理主机运行,由计划任务调用,触发器设为"启动时"运行:

::先打开用友服务器"C:\Program Files (x86)\VMware\VMware Workstation\vmrun" start "D:\VM\server\Server.vmx" nogui::再打开用友客户端"C:\Program Files (x86)\VMware\VMware Workstation\vmrun" start "D:\VM\clint01\Windows XP Professional.vmx" nogui

关机批处理stop.bat,物理主机运行,由任务计划调用,触发器设为"按预定计划",每天下午18点运行:

::虚拟机-用友客户端关机,虚拟xp先运行off.bat,延迟10s发送按键E,再关闭xp,会弹出关闭程序询问窗口,此时正好接收E"C:\Program Files (x86)\VMware\VMware Workstation\vmrun" -T ws -gu aaa -gp 0 runPrograminGuest "D:\VM\clint01\Windows XP Professional.vmx" "c:\windows\system32\off.bat""C:\Program Files (x86)\VMware\VMware Workstation\vmrun" stop  "D:\VM\clint01\Windows XP Professional.vmx"::虚拟机-用友服务器关机"C:\Program Files (x86)\VMware\VMware Workstation\vmrun" stop "D:\VM\server\Server.vmx" nogui::关物理主机shutdown /s

OK,目标达成!

其它的经验:

1、物理主机的网卡可以不设地址,或设为一个不存在的网段地址,虚拟机设置为合法网段地址,这样物理主机就脱离虚拟机网络,更加安全。

2、如果仅仅是关闭物理主机,就不用以上这么麻烦,关机命令就一条:shutdown /s /f,不管虚拟机是否弹出询问窗口,都会强行将其关闭。

3、用Win10的记事本编辑批处理,发现用ANSI编码比默认的UTF-8编码兼容性更好。


主机 运行 物理 客户 客户端 财务 用友 脚本 任务 地址 服务器 桌面 程序 服务 不用 人员 命令 家庭 按键 显示器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 金融科技还是互联网 北京互联网科技 无线互联网科技 互联网女皇 腾讯科技 互联网科技论坛 四个字互联网科技公司取名 青海省互联网新科技 老年人脱离互联网科技的作文 成都玖崟互联网科技有限公司乐商圈怎么样 互联网金融科技公司干啥的 重庆互联网医院沙龙医盟信息科技 新兴科技互联网创新大赛颁奖典礼 中科明德北京互联网科技 雨阳互联网卡科技有限公司 广州互联网高科技取餐柜 广州智享互联网科技 长沙渺峰互联网科技有限公司 互联网科技收购价值 互联网科技的前景 恒生科技指数 中概互联网 互联网电商科技 极限挑战互联网科技 广州紫鲸互联网科技 互联网科技公司有风险吗 互联网科技如何创业 互联网金融科技公司的优势 广州千川互联网科技有限公司 互联网科技接地气 互联网金融运营模式中的金融科技 科技互联网专业务虚会材料
0