cmd虚拟机常用命令有哪些?怎么用虚拟机指令操作?

Telnet命令:老设备和不支持SSH时的备选

有些老旧的网络设备虚拟机,或者临时调试环境,没装SSH只有Telnet,cmd里telnet默认是关闭的,需要你先去控制面板的“启用或关闭Windows功能”里勾选Telnet客户端。

启用后,连接方式很简单:

cmd命令视频教程
加载中
cmd命令视频教程
telnet 虚拟机IP 端口

比如连一台IP为192.168.1.50、端口23的虚拟机:

telnet 192.168.1.50 23

Telnet和SSH最大的区别是数据传输不加密,登录密码以明文方式发送,在公网环境下千万不要用,只有在隔离的内网或者实验室环境才考虑。

mstsc命令:远程桌面连接Windows虚拟机

如果你要操作的是Windows虚拟机,图形界面操作更顺手,cmd里输入mstsc回车就能打开远程桌面连接窗口,但更高效的方法是在命令里直接带上IP:

mstsc /v:192.168.1.200

这条命令会立刻弹出远程桌面窗口,并尝试连接192.168.1.200这台虚拟机,如果要指定分辨率、全屏等参数,还可以用:

mstsc /v:192.168.1.200 /w:1440 /h:900

/w和/h分别指定窗口宽度和高度,实际体验中,mstsc比SSH更适合不懂命令行的新手,而且Windows虚拟机自带远程桌面服务,基本开箱即用。

cmd管理本地虚拟机的命令:VMware和Hyper-V的命令行工具

VMware Workstation的vmrun命令

VMware用户经常遇到一个问题:虚拟机启动太慢,能不能用cmd直接控制?其实VMware自带了一个命令行工具vmrun,但默认不加入环境变量,你需要先找到它的路径,在多数版本里,vmrun位于:

C:Program Files (x86)VMwareVMware Workstationvmrun.exe

使用方法如下,启动虚拟机:

"C:Program Files (x86)VMwareVMware Workstationvmrun.exe" start "D:虚拟机Ubuntu.vmx"

关闭虚拟机(客户机内系统正常关机):

vmrun stop "D:虚拟机Ubuntu.vmx" soft

强制断电:

vmrun stop "D:虚拟机Ubuntu.vmx" hard

挂起虚拟机:

vmrun suspend "D:虚拟机Ubuntu.vmx"

如果你觉得每次输全路径太麻烦,可以在系统环境变量里将vmrun所在的目录加入Path,之后就能直接使用vmrun命令了,这个思路和Windows下配置Java环境变量是一样的原理。

Hyper-V的PowerShell命令

Windows自带的Hyper-V虚拟化平台,用cmd能管一部分,但很多操作其实要依赖PowerShell,不过你可以直接在cmd里启动powershell执行命令,比如查看虚拟机列表:

powershell -Command "Get-VM"

启动指定虚拟机:

powershell -Command "Start-VM -Name 'UbuntuServer'"

关闭虚拟机:

powershell -Command "Stop-VM -Name 'UbuntuServer'"

创建检查点(快照):

powershell -Command "Checkpoint-VM -Name 'UbuntuServer' -SnapshotName 'BeforeUpdate'"

cmd虚拟机常用命令有哪些?怎么用虚拟机指令操作?

这里有个实际场景:你在公司用Hyper-V跑着一台内部测试机,每天下班前想自动创建快照,用cmd的计划任务调用上述PowerShell命令,就能实现无人值守备份,比起在Hyper-V管理器里手动点鼠标,效率提升非常明显。

VirtualBox的VBoxManage命令

用VirtualBox的用户也别急,它的命令是VBoxManage,同样需要先找到安装目录,典型路径为:

C:Program FilesOracleVirtualBoxVBoxManage.exe

启动名为“CentOS8”的虚拟机:

VBoxManage startvm "CentOS8"

注意这个命令在VirtualBox 6.1以后,默认是以分离模式启动,后台运行不占用cmd窗口,关闭虚拟机:

VBoxManage controlvm "CentOS8" acpipowerbutton

强制关机:

VBoxManage controlvm "CentOS8" poweroff

查看所有虚拟机状态:

VBoxManage list runningvms

cmd虚拟机网络诊断指令:ping、tracert、nslookup怎么配合使用

虚拟机网络不通,是新手最头疼的问题,在cmd里,有一套固定的排查流程,我把它拆解开讲。

ping命令:先确认虚拟机是否能响应

ping 192.168.1.100

如果通了,会返回类似“来自192.168.1.100的回复: 字节=32 时间=1ms TTL=64”的信息,如果超时,先检查虚拟机网卡是不是处于桥接或NAT模式,然后再看防火墙是否拦截了ICMP请求,很多Linux虚拟机默认禁ping,这时你可以临时关闭防火墙测试:

iptables -F

或者Windows虚拟机里执行:

netsh advfirewall set allprofiles state off

但要记住,这只是测试手段,测完记得开回防火墙。

tracert命令:定位哪一跳断了

ping通了但访问慢,或者ping不通但虚拟机确实活着,用tracert追踪路径:

tracert 192.168.1.100

输出会显示从你本地到虚拟机经过的每一个路由器IP和延迟,如果某一跳出现“请求超时”,而下一跳又能通,那通常是中间路由器屏蔽了探测包,不一定是故障,如果一路到最后一跳都超时,大概率是虚拟机防火墙或网卡问题。

nslookup命令:排查域名解析故障

虚拟机里访问外网域名失败,先看DNS解析正不正常,在cmd里输入:

nslookup www.baidu.com

正常会返回域名对应的IP,如果提示“找不到主机”,换一个公共DNS测试:

nslookup www.baidu.com 223.5.5.5

这个命令能帮你快速区分是DNS问题还是网络连通问题,实际运维中,相当一部分“虚拟机无法上网”的案例,最后发现都是虚拟机内DNS被配置成了无效地址,而不是物理网络故障。

cmd批量操作虚拟机的进阶技巧:for循环和批处理

cmd虚拟机常用命令有哪些?怎么用虚拟机指令操作?

当你需要同时操作多台虚拟机时,一条一条敲命令太累,cmd支持for循环,结合ssh或者Hyper-V命令,能实现批量操作,比如批量ping多台虚拟机:

for /L %i in (1,1,10) do ping 192.168.1.%i -n 1 >> result.txt

这条命令会依次ping 192.168.1.1到192.168.1.10,并把结果写入result.txt文件,注意,在cmd窗口里直接输入用单百分号%,如果你把这段代码写入.bat批处理文件,需要改成双百分号%%。

再举个例子,批量启动Hyper-V虚拟机,先创建一个虚拟机列表文件vms.txt,每行一个虚拟机名称,然后写一个批处理脚本:

@echo off
for /f %%i in (vms.txt) do (
    powershell -Command "Start-VM -Name '%%i'"
)

执行后,cmd会逐行读取vms.txt,依次启动列出的虚拟机,这个脚本在实验室管理多台测试机时非常实用,配合计划任务还能实现定时批量开机。

用命令导出虚拟机列表保存到文件

管理多台虚拟机时,先把所有虚拟机名称和状态导出来,方便存档,Hyper-V环境下:

powershell -Command "Get-VM | Export-Csv -Path D:vminfo.csv"

VirtualBox环境下:

VBoxManage list vms > D:vms.txt

VMware环境下:

vmrun list > D:vmware_running.txt

这样生成的文件可以直接用Excel打开,或者配合批处理做后续操作。

cmd连接虚拟机时常见的五个坑及解决办法

连接超时,但虚拟机明明开机了

先确认虚拟机IP地址,在虚拟机内部执行ip addr(Linux)或ipconfig(Windows),查看实际IP,NAT模式下虚拟机的IP和主机不在同一网段是正常的,但host-only模式下如果IP配错,就会连接超时,解决办法是改用桥接模式,让虚拟机直接获取局域网IP。

SSH提示Permission denied

密码明明输入对了,却提示认证失败,多数情况是root用户默认禁止SSH登录,编辑虚拟机的/etc/ssh/sshd_config文件,找到PermitRootLogin,把值改成yes,然后重启SSH服务:

systemctl restart sshd

telnet命令不是内部或外部命令

前面提到了,Windows默认没装Telnet客户端,去控制面板程序启用或关闭Windows功能,勾选Telnet客户端,点确定后等待安装完成,重新打开cmd即可。

cmd无法运行vmrun

提示“vmrun不是内部或外部命令”,是因为没配环境变量,按Win+R输入sysdm.cpl打开系统属性,点击环境变量,在Path中添加VMware安装目录,保存后重新打开cmd。

mstsc连不上但网络通

虚拟机内Windows远程桌面服务没开启,右键此电脑属性远程桌面,选择“允许远程连接到此计算机”,同时确保防火墙允许远程桌面端口3389通过。

常用命令速查表

cmd虚拟机常用命令有哪些?怎么用虚拟机指令操作?

场景 命令 示例
SSH连接 ssh 用户@IP ssh root@192.168.1.100
Telnet连接 telnet IP 端口 telnet 192.168.1.50 23
远程桌面 mstsc /v:IP mstsc /v:192.168.1.200
启动VMware虚拟机 vmrun start 路径 vmrun start D:Ubuntu.vmx
查看Hyper-V虚拟机 powershell Get-VM powershell -Command “Get-VM”
启动VirtualBox虚拟机 VBoxManage startvm 名称 VBoxManage startvm “CentOS8”
测试连通性 ping IP ping 192.168.1.100
追踪路由 tracert IP tracert 192.168.1.100
解析域名 nslookup 域名 nslookup www.baidu.com
批量ping for /L %i in (1,1,10) do ping for /L %i in (1,1,10) do ping 192.168.1.%i

cmd虚拟机指令的适用场景与选择建议

我建议你根据实际需求选命令,如果只是临时连一下虚拟机敲两条命令,直接用ssh或telnet最省事;如果要给虚拟机做快照、调整硬件配置,用VMware的vmrun或Hyper-V的PowerShell更专业;如果你手头有多台虚拟机想一次性同时启动,批处理循环是效率最高的方案。

记住一个核心思路:cmd本身只是个外壳,真正干活的是虚拟机平台提供的命令行工具,以及SSH、远程桌面这类连接协议,把上面的命令练熟,你的Windows电脑就能像控制台一样调度所有虚拟机。

常见问题解答

怎么知道虚拟机当前有没有开机?

用对应的平台命令查询,VMware执行vmrun list会列出所有正在运行的虚拟机;Hyper-V执行powershell -Command "Get-VM | Where-Object {$_.State -eq 'Running'}";VirtualBox执行VBoxManage list runningvms,如果一条命令都记不住,最简单的办法是ping一下虚拟机IP,能通说明至少网络层面是活的。

cmd和PowerShell操作虚拟机有什么区别?

cmd偏传统批处理,适合直接调用外部工具如vmrun、VBoxManage以及ssh指令,脚本简单直观,PowerShell能直接调用Hyper-V管理模块,返回对象化数据,便于筛选、排序、导出,实际使用中,如果你的虚拟化平台是Hyper-V,建议直接用PowerShell;如果是VMware或VirtualBox,两者的差别不大,看个人习惯。

有没有不需要安装任何客户端就能连接虚拟机的方法?

有,win10和win11自带的OpenSSH客户端就能直接连虚拟机,前提是虚拟机里装好了SSH服务端,这个服务大多数Linux发行版默认已安装,Windows虚拟机也可以安装OpenSSH Server,然后你在cmd里执行ssh 用户名@虚拟机IP,体验和Linux完全一致,如果虚拟机是图形界面的Windows系统,mstsc远程桌面也是系统自带的,无需额外安装软件。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/615830.html

赞 (0)
Java虚拟机在单核CPU上如何优化性能与资源,有哪些技巧?
上一篇 2026年9月1日 22:59
虚拟机怎么加载?加载流程、步骤及原理详解
下一篇 2026年9月1日 22:59

相关推荐

  • 服务器标准平台到底有哪些,企业级服务器平台哪个好用?

    它并非单一产品,而是一套覆盖硬件规格、固件接口、操作系统兼容性、云管接口和国产化适配的标准化体系;企业选型的正确姿势是先锁定业务场景所需的标准层级,再倒推平台组合,服务器标准平台到底指什么很多刚接触机房建设的读者会把“标准平台”理解成某个品牌的一站式方案包,实际情况更接近一套分层规范,业内专家指出,服务器从出厂……

    服务器宽带 2026年11月1日
    200
  • HTTP严格传输安全协议为何死机?HSTS配置错误导致网站无法访问

    HTTP严格传输安全(HSTS)协议导致服务器死机或访问中断,核心原因通常是配置错误导致浏览器强制HTTPS请求,而服务器端SSL证书缺失、过期或配置不当,且未正确设置HSTS预加载列表或回退机制,导致“有去无回”的通信死锁,HSTS(HTTP Strict Transport Security)旨在强制客户端……

    2026年6月5日
    4200
  • 整合服务器软件有哪些,哪个功能最强大好用?

    整合服务器软件指把系统监控、网站部署、数据库管理、安全防护、自动化运维集中到同一后台的工具,现阶段最主流的方案有四类:宝塔面板适合新手和小型企业,Cockpit和1Panel适合追求开源的轻量场景,Ansible搭配Zabbix则面向企业级规模化运维,免费开源服务器管理面板推荐免费开源面板的选择比很多人想象中丰……

    2026年10月14日
    100
  • IDC机房如何有效降低成本?IDC机房电费节省技巧

    IDC机房成本优化的核心在于通过液冷技术替代传统风冷、利用AI智能调度提升PUE效率,以及采用模块化设计降低初期CAPEX投入,从而在保障业务连续性的前提下实现TCO(总拥有成本)最小化,随着数字化转型的深入,数据中心已从简单的“机房”演变为算力基础设施的核心枢纽,对于企业而言,电费支出和硬件折旧构成了运营成本……

    2026年6月16日
    3700
  • 服务器主板有哪些新型号,怎么选性价比高的?

    2026年服务器主板的主流型号集中在Intel Xeon 6平台(如Pikes Peak系列)、AMD EPYC 9005/8004平台(对应 Turin与Genoa-X刷新版)以及少量国产化飞腾/海光方案,具体选型取决于你是要部署AI训练集群、冷存储还是边缘计算,服务器主板型号怎么选才不踩坑?先看CPU平台再……

    2026年10月8日
    000
  • 域名指向域名转发怎么设置?有什么注意事项吗?

    域名指向域名转发,简单说就是把一个域名(A)的访问者自动带到另一个域名(B),核心就是设置301重定向或URL隐式转发,这件事在网站改版、合并站点、品牌保护时经常用到,看着简单,但里面有几个容易踩的坑,这篇内容就把操作方法和注意事项一次讲明白,域名转发设置方法:CNAME和显性转发怎么选很多朋友第一次接触域名转……

    2026年9月7日
    200
  • HTML手机网站怎么做?手机网站制作费用及源码下载

    HTML手机网站不仅是适配小屏幕的技术方案,更是2026年获取移动端自然搜索流量、降低跳出率并提升转化率的底层基础设施,其核心价值在于通过语义化标签与响应式布局实现多端一致的用户体验,在移动互联网进入深水区的当下,用户指尖滑动的频率决定了品牌的生死,过去那种“电脑网站缩小版”的粗放模式早已失效,取而代之的是对加……

    服务器宽带 2026年6月6日
    3400
  • 广州ECS云服务器怎么添加站点?详细步骤教程

    在广州ECS云服务器上成功添加站点并实现稳定运行,核心在于精准配置Web环境、规范化的域名解析流程以及严密的安全防护设置,这三者构成了网站上线运营的“铁三角”,对于企业级用户而言,选择高质量的BGP线路与专业的运维服务,能显著降低后期维护成本,保障业务连续性,前期环境准备:构建稳固的底层架构添加站点的第一步并非……

    2026年3月30日
    9100
  • 如何在HTML中显示SQL数据库内容?前端页面动态获取数据库数据

    在HTML中显示SQL数据库内容,核心在于通过后端脚本(如PHP、Python或Node.js)建立数据库连接,执行查询语句获取数据,并将结果动态渲染为HTML表格或列表结构,最终由浏览器解析展示,将静态网页与动态数据结合,是Web开发中最基础也最核心的能力之一,很多初学者容易陷入一个误区,认为HTML本身能直……

    服务器宽带 2026年6月6日
    4000
  • 到底哪些服务器是独立位面,在哪里能看到呢

    目前绝大多数MMORPG的官方服务器,以及米哈游系游戏的官方服务器,都属于独立位面;每个服务器就是一座互不相通的“平行世界”, 如果你在魔兽世界怀旧服、最终幻想14、原神里创建角色,你看到的玩家大概率只来自同一个服务器,这种设计就是典型的独立位面,哪些服务器是独立位面?先分清位面和分线在聊“哪些服务器是独立位面……

    2026年10月5日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注