psexec怎么远程连接虚拟机?,连接失败怎么办?

psexec 远程连接 虚拟机操作步骤的核心答案是:下载微软 Sysinternals 工具包中的 PsExec,在命令行中执行 psexec \目标IP -u 用户名 -p 密码 cmd 即可进入虚拟机命令行界面,但前提是双方网络互通、445 端口可达且具备管理员权限。 这个答案听起来简单,实际部署时却常碰到虚拟机防火墙拦截、账号权限不足、网络模式不通等绊脚石,本文就按实操顺序,把从准备到排错的全过程拆给你看。

psexec 远程连接 虚拟机操作步骤:准备工作要做足

很多教程上来就让你敲命令,结果报错一个接一个,psexec 的原理是在目标机器上临时安装并启动一个 Windows 服务,再通过该服务执行指定命令,这意味着你对目标虚拟机必须有管理员级权限,且网络层面要放行 RPC 和 SMB 通信。

445端口通信-------psexec64工具和net use
加载中
445端口通信-------psexec64工具和net use

第一步:下载 PsTools 并解压到固定目录

  • 访问微软官网的 Sysinternals 套件页面(也就是 Sysinternals 主站的 PsTools 下载区),下载 PsTools.zip 压缩包。
  • 解压到你喜欢的目录,C:PsTools,里面包含 psexec.exe、pskill.exe、pslist.exe 等几十个小工具。
  • 为了方便在任何路径下直接调用,建议把该目录加入系统 Path 环境变量,操作路径:右键“此电脑”→ 属性 → 高级系统设置 → 环境变量 → 找到 Path 变量 → 编辑 → 新建 → 填入 C:PsTools。

第二步:确认虚拟机 IP 和网络模式

psexec 通过 IP 地址访问目标虚拟机,所以先明确虚拟机的 IP:

  • 桥接模式:虚拟机与宿主机在同一物理网段,宿主机直接 ping 虚拟机 IP 即可。
  • NAT 模式:默认情况下,宿主机可以访问虚拟机,但其他物理机无法直接访问,psexec 的发起方是宿主机,NAT 模式通常可行;如果发起方是另一台物理机,则需要端口转发或改用桥接模式。
  • 仅主机模式:只允许宿主机与虚拟机通信,跨机器远程连接基本没戏。

用 ipconfig 在虚拟机里查清楚 IP 后,回到宿主机执行 ping 虚拟机IP,不通就去查虚拟网络编辑器。

第三步:开放防火墙和共享端口

psexec 依赖 TCP 445 端口(SMB) 和 Windows 服务管理相关的 RPC 端口,虚拟机如果是 Windows 系统,请重点检查以下两项设置:

  • 防火墙:控制面板 → Windows Defender 防火墙 → 允许应用或功能通过防火墙 → 勾选“文件和打印机共享”和“Windows Management Instrumentation (WMI)”。
  • 文件共享:在虚拟机中运行 net share 查看 ADMIN$ 共享是否存在,如果提示没有共享,手动启动 Server 服务:在服务管理器中找到 Server,设为自动并启动。

psexec 怎么用:从单条命令到交互式 Shell

准备就绪后,正式开始远程连接,以下命令均在发起方的命令提示符或 PowerShell 中执行。

基础命令格式与真实例子

psexec 的标准语法是:

psexec \目标IP -u 账号 -p 密码 要执行的命令

举两个最常见的场景:

  1. 远程执行一条命令,比如查看虚拟机的网络配置:

    psexec怎么远程连接虚拟机?,连接失败怎么办?

    psexec \192.168.1.100 -u administrator -p P@ssw0rd ipconfig

    输出会直接返回到你的终端里,相当于把虚拟机当成一台本地机器用。

  2. 远程重启虚拟机:

    psexec \192.168.1.100 -u administrator -p P@ssw0rd shutdown /r /t 0

进入交互式命令行,像坐在虚拟机前一样操作

如果想连续执行多条命令,或者想直接操作虚拟机上的 cmd,用不带命令参数的写法:

psexec \192.168.1.100 -u administrator -p P@ssw0rd cmd

执行后你会发现命令提示符前缀变成了 C:Windowssystem32> 但其实是远程虚拟机的路径,此模式下,你可以随意敲击 ipconfig、dir、tasklist 等命令,所有操作都在虚拟机内部执行。

把本地文件推到虚拟机再执行

psexec 还支持 -c 参数,把本地文件复制到远程虚拟机后再运行,这个用法在批量部署脚本时相当方便:

psexec \192.168.1.100 -u administrator -p P@ssw0rd -c C:Toolscheck.bat

该命令会把 check.bat 推送到虚拟机的系统目录下,然后远程执行它,执行完临时文件默认保留在远端。

以 SYSTEM 权限运行

有些命令需要更高权限,比如操作注册表安全项或服务配置,加上 -s 参数,就能让 psexec 以 SYSTEM 账户在远程虚拟机中启动进程:

psexec \192.168.1.100 -u administrator -p P@ssw0rd -s cmd

SYSTEM 是 Windows 中的顶级账户,比管理员权限还高,因此务必只在可信环境下使用。

psexec 连接不上 虚拟机?先从这五个角度排查

实际使用中,报错五花八门,我把最常见的几类问题整理成一张排查表,看不懂英文报错也能对号入座:

报错信息 大概率原因 解决方向
Access is denied 账号权限不足或 UAC 远程限制 确认虚拟机不是仅来宾账户,关闭远程 UAC 过滤,或用本地管理员账号
Network path not found 网络不通或 SMB 服务未启动 ping 测试、确认桥接模式、启动 Server 服务
The RPC server is unavailable 防火墙拦截 RPC 端口 放行 WMI 和 RPC 动态端口,或直接关闭虚拟机防火墙(临时测试)
The filename, directory name, or volume label syntax is incorrect 命令参数写错 检查反斜杠和引号,虚拟光驱目录路径注意转义
登录失败:用户账户限制 账号被锁定、密码过期或空密码策略 在虚拟机中重设密码,或运行 gpedit.msc 修改账户策略

错误 5 拒绝访问是重灾区

如果你用的是 Windows 10/11 专业版工作站或 Windows Server 2016 以上系统,会发现 psexec 即使密码正确也报 Access is denied,这大概率是 UAC 的远程限制在捣鬼:微软从 Vista 开始引入本地账户的 UAC 过滤机制,使得远程登录的管理员令牌被自动降级成普通用户权限。

解决办法有两种:

psexec怎么远程连接虚拟机?,连接失败怎么办?

  • 在目标虚拟机中打开注册表编辑器,跳转到 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem,新建一个 DWORD(32 位)值,名为 LocalAccountTokenFilterPolicy,数值数据填 1,重启机器后生效。
  • 直接使用虚拟机内置的 Administrator 账户(不是你自己创建的管理员用户),因为内置 Administrator 默认不受到该策略限制。

测试阶段图省事,可以临时关闭防火墙

如果你只是在实验环境里验证,不想折腾防火墙规则,可以临时在虚拟机里执行:

netsh advfirewall set allprofiles state off

把虚拟机的公共、专用和域网络防火墙全部关掉,之后 psexec 基本畅通无阻,但生产环境千万别这样操作,测试完记得重新开启。

psexec 在虚拟机和物理机上有哪些使用差异

不少第一次用 psexec 连接虚拟机的朋友会被同一种现象困住:同一套命令连物理机一次成功,连虚拟机就各种超时,这是虚拟化环境带来的额外变量。

NAT 模式下,外网物理机访问不到虚拟机

VMware Workstation 或 VirtualBox 默认的 NAT 模式,虚拟机位于一个私有子网中,对外表现为宿主机的网络地址,在这种模式下,宿主机可以主动连接虚拟机,但局域网其他电脑无法直接访问,如果你要从自己的办公电脑上 psexec 到一台公司服务器上的虚拟机,得先确认虚拟机的网络模式是桥接模式,且分配了和宿主机同网段的 IP。

快照回滚之后,服务状态可能不一致

psexec 远程连接时会在虚拟机中创建 PSEXESVC 服务,如果虚拟机的防火墙当时是关闭的,你连接并创建服务后再做快照,一旦回滚到该快照,服务状态与目标机网络配置可能出现奇怪的不一致,比如回滚后 admin$ 共享存在,但 psexec 的临时服务记录残留。建议在干净的网络配置状态下才做快照,否则排查 NLA 错误会浪费大量时间。

虚拟机之间的互联,权限验证更严格

当你从一台虚拟机 psexec 到另一台虚拟机时,除了账号密码之外,Workstation 服务的运行账户也得注意,如果发起方虚拟机没有启动 Workstation 服务,无法建立 SMB 会话,连接直接失败,确认方式:运行 services.msc,找到 Workstation,启动类型设为“自动”。

远程复制文件:psexec 不是唯一办法

虽然 psexec 可以用 -c 把文件推送到虚拟机,但如果你需要在宿主机和虚拟机之间传文件,更推荐 VMware Tools 的共享文件夹功能,或者直接用 copy 命令走 SMB 共享,psexec 的文件复制功能设计上不对大文件做断点续传,传输效率也比较一般。

安全警告:psexec 是运维利器,也是攻击跳板

我用 psexec 管理过几十台实验虚拟机,这东西的效率确实比一次次打开 VMware 窗口强太多,但行业共识认为:psexec 的能力太接近黑客工具了,它本质上就是合法的远程代码执行工具,所以必须有使用纪律。

不要在命令行中明文写密码

-p P@ssw0rd 这种写法虽然在教程里最常见,但在真实环境中特别危险,你的命令历史记录、PowerShell 日志都会留下密码痕迹,安全的做法是:

psexec怎么远程连接虚拟机?,连接失败怎么办?

  • 先在命令行执行 net use \虚拟机IP /user:管理员账号 ,系统会提示你输入密码,输入时不回显。
  • 然后再执行 psexec \虚拟机IP 命令,psexec 会复用已建立的 SMB 会话,不再需要 -p 参数。

用完后立即清理远程服务

psexec 的工作机制是在远程虚拟机上创建 PSEXESVC 服务并启动一个 psexec.exe 进程,任务结束后,正常退出交互式 shell 会自动让远程服务停止并删除自身,但如果 psexec 进程被强制终止或发生故障,远程只读服务会残留下来,可以手动清理:

psexec \虚拟机IP -u 账号 -c psservice.exe stop PSEXESVC

虚拟机做安全测试时,慎用 psexec

如果你拿 psexec 来测试虚拟机是否能防住横向渗透,通常能轻松成功,但样本价值有限,由于 psexec 太出名,几乎所有终端安全软件都会重点监控 PSEXESVC 的创建,在真实攻防场景下反而不常见,验证内网安全性,用 Mimikatz、WMI 或 WinRM 来做测试更有参考意义。

常见问题解决:psexec 远程连接 虚拟机操作步骤里的三个坑

Q1:psexec 远程连接虚拟机时,提示“拒绝访问”,但账号密码明明是对的,为什么?

这基本是 UAC 远程限制在阻止你,目标虚拟机如果是 Windows 10/11、Windows Server 2016 及以上系统,默认情况下非内置 Administrator 的管理员账户通过 SMB 远程登录时,权限会被过滤为普通用户,解决方法:在目标虚拟机注册表 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem 中新建 LocalAccountTokenFilterPolicy 为 1,重启后重新尝试,如果仍失败,确认该账号没有设置“拒绝从网络访问这台计算机”的用户权限分配。

Q2:psexec 连接不上虚拟机,报“找不到网络路径”,是防火墙设置的问题吗?

不一定,虽然防火墙拦截 445 端口是最常见的原因,但虚拟机网络模式不对也会导致此问题,例如虚拟机处于 NAT 模式而发起方与虚拟机不在同一网段,直接 ping 不通,网络路径自然找不到,建议先按顺序检查:第一步在宿主机 ping 虚拟机 IP 确认基本连通;第二步在虚拟机内执行 net share 确认 ADMIN$ 共享存在;第三步查看“网络和共享中心”中是否开启了“网络发现”和“文件和打印机共享”,如果虚拟机是普通 Windows 10 系统,还得确保“网络配置文件”是“专用”而非“公用”。

Q3:psexec 远程命令执行后没有输出,或提示“找不到文件”,但虚拟机里确实能运行?

psexec 远程执行命令时,Windows 服务上下文环境与交互式用户不同,PATH 环境变量可能不包含你所执行文件所在目录,比如你要运行 Python 脚本,而 Python 装在某个用户目录下,远程会话里可能找不到解释器路径,解决办法是使用绝对路径执行:psexec \虚拟机IP -u 账号 -p 密码 C:Python39python.exe C:scripttest.py,psexec 默认把文件复制到虚拟机 C:WindowsSystem32 目录下,如果该目录不具备写入权限,需要先手动放置文件再用完整路径调用。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/psexec%e6%80%8e%e4%b9%88%e8%bf%9c%e7%a8%8b%e8%bf%9e%e6%8e%a5%e8%99%9a%e6%8b%9f%e6%9c%ba%ef%bc%9f%e8%bf%9e%e6%8e%a5%e5%a4%b1%e8%b4%a5%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f/

赞 (0)
Debian系统怎么切换虚拟机?,虚拟机哪个软件好用
上一篇 2026年9月4日 05:08
信创迁移项目中有哪些沟通协同误区,如何避免团队协作陷阱?
下一篇 2026年9月4日 05:20

相关推荐

  • 注册公司流程复杂吗?公司注册需要准备哪些材料

    公司注册程序在数字化浪潮席卷全球的今天,服务器不仅是企业网站运行的物理载体,更是品牌信誉、数据安全与用户体验的核心基石,对于初创企业、中小企业以及大型集团而言,选择一款高性能、高稳定性且具备完善售后支持的服务器产品,是构建线上业务护城河的第一步,本文基于2026年的最新市场环境与实测数据,深度解析主流服务器配置……

    2026年6月24日
    1900
  • 店铺开发优势有哪些,店铺开发的优势是什么

    店铺开发是实体商业扩张与品牌升级的核心驱动力,其本质在于通过系统化的选址评估、空间规划与运营体系搭建,实现商业价值的最大化,在当前竞争激烈的市场环境下,专业的店铺开发不仅能够降低经营风险,更能通过精准的流量获取与成本控制,为品牌构建坚实的竞争壁垒,成功的店铺开发并非简单的选址签约,而是一项集市场调研、数据分析……

    2026年3月22日
    10400
  • APP开发知名公司哪家好?十大品牌推荐!

    知名App开发公司打造卓越产品的核心流程与实战解析顶级App开发公司的核心竞争力在于其严谨、系统化且经过市场验证的开发流程与深厚的技术沉淀, 他们不仅精通编码,更擅长将创意转化为稳定、可扩展、用户体验卓越的商业化产品,以下是其内部奉行的专业开发路线图: 深度需求挖掘与精准产品定义(基石阶段)用户画像与场景分析……

    2026年2月11日
    15230
  • 云原生有哪些常见问题?云原生技术栈详解

    关于云原生一些问题的讨论在数字化转型的深水区,企业IT架构正经历着从“上云”到“用云”的深刻变革,云原生(Cloud Native)不再仅仅是一个技术热词,而是成为衡量企业IT基础设施弹性、稳定性与开发效率的核心标尺,在实际落地过程中,许多技术负责人面临着选型困惑:究竟什么样的服务器才能真正支撑起微服务、容器化……

    2026年6月10日
    6000
  • 新加坡VPS哪家性价比高?新加坡VPS推荐及价格对比

    性价比最高的新加坡VPS在东南亚数字经济蓬勃发展的背景下,新加坡凭借其优越的地理位置、稳定的网络基础设施以及宽松的互联网政策,成为了众多出海企业、跨境电商及独立开发者首选的服务器节点,面对市场上琳琅满目的VPS产品,如何甄别出真正具备高性价比与高性能的服务商,是许多用户面临的痛点,本文基于实际测试数据与长期运行……

    2026年7月6日
    18900
  • 新的海外云看片服务器靠谱吗,哪个更稳定?

    它本质是把媒体服务放在海外云主机上,通过合规线路和合理配置,让多设备稳定播放已授权内容;选型时先看地区延迟、回程线路、带宽计费和版权合规,2核2G起步就能跑通,香港、新加坡、日本、美国按预算与场景取舍,海外云看片服务器怎么选?先分清线路、地区与预算香港、日本、新加坡、美国:海外云看片服务器延迟对比买之前先问自己……

    2026年10月19日
    100
  • 个人网站怎么赚钱?个人网站盈利模式有哪些

    在数字化浪潮席卷全球的今天,对于个人站长和内容创作者而言,服务器不仅是承载网站运行的物理基础,更是决定用户体验、搜索引擎排名以及业务扩展潜力的核心资产,选择一款高性能、高稳定性且性价比卓越的服务器,是构建个人网站盈利模式的第一步,本文将基于真实的部署测试与长期运行数据,为您深度解析当前市场上几款极具竞争力的云服……

    2026年7月5日
    10200
  • 个人能注册域名吗?个人注册域名需要哪些证件

    个人能注册域名,这不仅是技术爱好者的入门第一步,更是构建独立数字资产的关键环节,在云计算与域名服务高度成熟的今天,许多初学者往往混淆了“域名注册”与“服务器托管”的概念,导致在初期投入上产生误区,本文将深入剖析个人注册域名的全流程,并结合主流服务器测评数据,为您提供最具性价比的建站方案, 个人注册域名的可行性与……

    2026年7月1日
    1610
  • DevExpress开发难吗,DevExpress怎么快速上手?

    DevExpress 是 .NET 生态系统中构建高性能、企业级桌面及 Web 应用程序的标杆工具集,其核心价值不仅在于提供了上百个功能完备的 UI 控件,更在于它构建了一套完整的开发框架,能够显著缩短开发周期并提升软件的最终交付质量,掌握 DevExpress 开发的关键在于:深入理解其 MVVM 架构设计模……

    2026年2月17日
    17700
  • 服务器是怎么实现虚拟主机的,主要方法有哪些?

    虚拟主机的底层实现逻辑服务器要实现虚拟主机,核心在于资源隔离与请求分发,底层依赖三种机制:基于IP地址、基于端口号、以及基于域名(Host头),现代虚拟主机绝大多数采用基于域名的方式,即多个站点共享同一个IP和端口,服务器通过HTTP请求中的Host字段将请求路由到对应的站点目录,实现这一过程需要Web服务器……

    程序开发 2026年7月17日
    800

发表回复

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