You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PsExec在Visual Studio终端运行报错,PowerShell手动执行正常

问题说明

手动在PowerShell中运行psexec一切正常,但在Visual Studio终端执行时出现如下错误:

psexec : The term 'psexec' is not recognized as the name of a cmdlet, function, script file, or operable program.

同时在Visual Studio自动化代码中解析该命令时,远程exe文件无法打开。

解决办法

一、修复Visual Studio终端的psexec识别问题

  • 直接用PsExec的完整路径调用
    手动PowerShell能找到psexec,是因为它所在目录已经在系统PATH环境变量里,但Visual Studio终端的环境变量可能没包含这个路径。直接写完整路径就能解决,比如:
    & "C:\Program Files\PsTools\psexec.exe" \\远程机器IP或名称 ...
    
  • 同步PATH环境变量
    在VS终端里执行$env:PATH,对比手动打开的PowerShell里的$env:PATH输出,把PsTools的目录添加到VS终端的PATH中。如果是自动化代码里,可以临时追加:
    $env:PATH += ";C:\Program Files\PsTools"
    

二、解决远程exe无法打开的问题

  • 确保运行权限足够
    运行Visual Studio时右键选择「以管理员身份运行」,自动化代码的执行上下文需要拥有远程机器的管理员权限,否则PsExec无法远程启动程序。
  • 检查远程机器的基础设置
    远程机器必须开启文件和打印机共享,同时允许远程管理。可以在远程机器上执行以下命令开启:
    netsh advfirewall firewall set rule group="文件和打印机共享" new enable=Yes
    
  • 指定远程exe的完整路径
    不要用相对路径,必须写远程机器上exe的绝对路径,比如:
    & "C:\Program Files\PsTools\psexec.exe" \\远程机器 "C:\RemoteApps\目标程序.exe"
    
  • 核对PsExec参数格式
    如果需要交互式运行远程程序,加上-i参数;如果需要指定远程机器的用户账号,用-u和-p参数(注意明文密码存在安全风险,建议用加密方式传递凭据)。

内容的提问来源于stack exchange,提问作者Reham Kotb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:57:25