当前位置:网站首页 / Windows / 正文

VMware使用脚本启动指定虚拟机和实现开机启动的方法

时间:2023年11月10日 | 作者 : liuhui | 分类 : Windows | 浏览: 2353次 | 评论 0

阿里云限量代金券 | 此广告位出租25元/月

博士玩了很多年的WMware,在软件里一直没找着开机启动的方法,今天折腾了一下终于实现了开机之后自动启动指定虚拟机

实验系统:Windows10

VMware版本:理论支持所有版本VMware,具体自己测试

首先我们了解一下VMware的命令的运行方式,VMware的命令实现依赖于vmrun这个二进制文件,一般在C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe这个路径

为了方便在cmd下使用,在系统环境中的变量Path中添加C:\Program Files (x86)\VMware\VMware Workstation\

win+r 进入cmd 输入vmrun 测试是否成功

VMware的相关命令:

验证标志(AUTHENTICATION-FLAGS):-T 代表目标类型,ws 表示工作站(即 Workstation ),一般使用此参数即可,其他很少使用,就不做解释了。当然还有 server、esx、vc 等等,这里没有列出。

电源指令(POWER COMMANDS):

start:开启虚拟机
stop:关闭虚拟机
reset:重置虚拟机
suspend:挂起虚拟机

快照指令(SNAPSHOT COMMANDS):

listSnapshots:		列出虚拟机的快照数量及名称
snapshot:			为虚拟机创建快照
deleteSnapshot:	删除虚拟机的快照
revertToSnapshot:	从一个快照恢复虚拟机

常用命令(GENERAL COMMANDS):

list:				列出正在运行的虚拟机的数量及名称
upgradevm:			升级虚拟机的文件格式,虚拟硬件
installTools:		在 Guest 中安装工具
checkToolsState:	检查工具状态
deleteVM:			删除一个虚拟机
clone:				克隆虚拟机

创建脚本

启动脚本:

新建一个记事本文件,将下面代码复制进去,另存为startdeepin.bat

@echo off & setlocal enabledelayedexpansion
"C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" -T ws start "E:\vmos\其他 Linux 5.x 或更高版本内核 64 位\其他 Linux 5.x 或更高版本内核 64 位.vmx" nogui

挂起脚本:

新建一个记事本文件,将下面代码复制进去,另存为suspenddeepin.bat

@echo off & setlocal enabledelayedexpansion
"C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" -T ws suspend "E:\vmos\其他 Linux 5.x 或更高版本内核 64 位\其他 Linux 5.x 或更高版本内核 64 位.vmx" nogui

扩展:

一次性关闭所有正在运行的虚拟机脚本

@echo off & setlocal enabledelayedexpansion
vmrun list > vm_list.txt
for %%i in (vm_list.txt) do (
    set "f=%%i"
    for /f "usebackq delims=" %%j in ("!f!") do set/a n+=1
    for /f "delims=" %%m in ('"type "!f!"|more /E +1 & cd. 2^>!f!"') do set/a x+=1&if !x! leq !n! echo;%%m>>!f!
    set/a n=0,x=0
)
for /f "delims=" %%a in (vm_list.txt) do (
     vmrun -T ws stop "%%a" nogui
    )
pause

试着在哪吒探针的webshell下远程执行脚本运行,成功!PS:之前以为只要加入了Path环境变量后可以在哪吒探针下运行,结果不行,后来脚本内改用绝对路径才成功,哪吒探针里面运行脚本不带系统设置的环境变量!

开机启动

Windows 中设置虚拟机开机自启动的两种方法:

方法一:(计划任务)

创建计划任务

常规->触发器->操作->完成。

博士主要详细讲解方法二,因为我也是使用方法二实现的

方法二:(策略组)

win+r 运行->gpedit.msc

依次选择 <用户配置> <Windows 设置> <脚本(登陆/注销)>,点击<登陆>,<登陆 属性> 对话框中添加我们之前写好的startdeepin.bat脚本

依次选择 <计算机配置> <Windows 设置> <脚本(启动/关机)>,点击<关机>,<关机 属性> 对话框中添加我们之前写好的suspenddeep.bat脚本

重启一下电脑验证开机启动效果,成功了!

注:如果是中文名字的,把UTF-8编码,修改为ANSI编码,可解,路径以及文件名可以使用中文。

推荐您阅读更多有关于“虚拟机,”的文章

猜你喜欢

网站分类
关注电脑博士
友情链接

分享:

支付宝

微信