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年7月31日
    700
  • apache多域名如何301跳转主域名?重定向配置怎么做

    Apache多域名跳转主域名301重定向配置详解在Apache服务器中,多域名跳转主域名的标准做法是在虚拟主机配置或.htaccess中使用mod_rewrite规则,通过RewriteCond匹配非主域名的访问请求,再使用RewriteRule执行301永久重定向,整个配置过程只需几行代码,核心逻辑清晰易懂……

    2026年9月3日
    200
  • 西安服务器租用一年多少钱,不同配置报价差多少?

    西安服务器租用一年的费用根据配置和需求不同,大致在3000元至50000元之间,报价差异主要取决于硬件配置、带宽大小、机房等级以及售后服务,西安服务器租用一年多少钱?价格区间与典型配置西安的服务器租用市场近年来发展较快,本地机房和带宽资源逐渐成熟,价格也趋于透明,但不同服务商报出的价格可能相差数倍,核心在于配置……

    服务器宽带 2026年8月9日
    400
  • 网站打开慢是服务器带宽不够吗?网站加载速度慢怎么解决

    网站打开速度慢,服务器带宽不足只是众多潜在原因中的一个,绝非唯一答案,在绝大多数企业级应用场景中,服务器硬件资源过剩而网站加载依然缓慢的情况更为普遍,盲目升级带宽往往无法解决根本问题,反而增加了运营成本,解决此类问题必须建立系统化的排查思维,从网络传输、服务器性能、前端代码及第三方服务四个维度进行精准诊断,很多……

    2026年3月8日
    12200
  • 互联中国域名是什么?注册互联中国域名需要哪些条件

    互联中国域名是获取中国本土互联网身份、满足工信部备案要求并建立用户信任的关键入口,对于希望深耕国内市场的企业而言,选择正规注册商并完成实名认证是启动业务的唯一前置条件,在数字化浪潮席卷全球的今天,域名早已超越了单纯的技术标识,成为了企业在网络世界的“门牌号”和“身份证”,对于许多初入互联网领域的创业者或传统转型……

    2026年6月3日
    2700
  • 杭州电商大促对带宽要求为啥不一样,如何应对流量高峰?

    杭州电商大促对带宽要求不一样,是因为其业务场景涵盖高并发秒杀、实时直播和全渠道流量分发,导致带宽需求呈脉冲式爆发且对实时性要求极高,杭州电商大促带宽要求为什么不一样杭州电商公司的大促活动,不是简单的打折促销,它们往往多平台联动,同时在天猫、淘宝、抖音、拼多多甚至微信小程序等渠道发力,流量并非单一来源,而是多股洪……

    2026年8月10日
    1800
  • HTML5开发是什么?HTML5开发前景如何

    HTML5开发已成为跨平台应用构建的首选方案,它通过一套代码实现多端适配,显著降低了开发成本并提升了用户体验,是2026年数字化转型的核心技术基石,在移动互联网向物联网和智能终端延伸的今天,传统的原生开发模式显得笨重且昂贵,HTML5凭借其“一次编写,到处运行”的特性,彻底改变了应用的分发逻辑,它不再仅仅是网页……

    2026年6月10日
    3210
  • 广州FPGA服务器如何创建多个网站,FPGA服务器多网站搭建教程

    在广州地区,利用FPGA服务器创建多个网站已成为企业实现高性能计算与业务快速扩展的最优解,核心结论在于:FPGA服务器的硬件可编程特性,能够以单台物理设备支撑高并发、低延迟的多站点运行,相比传统CPU服务器,其处理效率提升显著,且运营成本大幅降低, 这一方案特别适合需要处理大量并行任务、对数据传输速度有极高要求……

    2026年3月31日
    9200
  • 互联网区块链数据连接怎么用?区块链数据连接教程

    互联网区块链数据连接的核心在于通过API网关或专用节点,将链上不可篡改的分布式账本数据与链下传统IT系统实时同步,实现业务场景中的信任传递与自动化执行,很多人听到区块链就想到炒币,其实它在企业级应用中最大的价值是解决“信任成本”问题,当你的系统需要和外部合作伙伴交换数据,或者需要证明某笔交易确实发生过且未被篡改……

    2026年6月3日
    3800
  • 文旅票务系统在西安独立服务器上架构如何,有哪些注意事项?

    文旅票务系统部署在西安独立服务器上的架构考量,核心结论是:当业务量达到日均万级请求且对数据本地化、资源可控性有强需求时,独立服务器比云服务器更合适,西安机房在网络延迟和合规性上具备天然优势,为什么文旅票务系统要盯上西安独立服务器——先看架构需求文旅票务系统不是普通网站,它有鲜明的业务特征:早高峰集中抢票、节假日……

    服务器宽带 2026年8月9日
    600

发表回复

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