能否通过PsExec运行非EXE文件?Stream Deck远程宏文件执行遇阻求助
解决PsExec远程启动MiniMouseMacro宏文件的问题
明确错误根源
你看到的“PsExec无法启动,系统找不到指定文件”分两种核心情况:
- 系统找不到PsExec.exe本身:说明CMD无法定位PsExec的执行路径
- PsExec启动后找不到远程的.mmmacro文件:这是远程执行上下文或命令格式的问题
下面是分步解决方法:
1. 确保PsExec路径可被CMD识别
如果是系统找不到PsExec.exe:
- 直接在命令里写PsExec的完整绝对路径,比如
"C:\PsTools\PsExec.exe"(路径带空格必须用双引号包裹) - 或者把PsExec所在文件夹添加到系统环境变量PATH中,这样CMD就能直接调用
psexec命令
2. 修正远程执行的命令格式(核心操作)
直接用PsExec打开.mmmacro文件可能因为关联程序的上下文失效,必须显式调用MiniMouseMacro主程序来打开宏文件,同时要添加交互会话参数:
psexec \\远程IP或计算机名 -i -u 远程用户名 -p 远程密码 "C:\路径\到\MiniMouseMacro.exe" "C:\远程宏文件路径\你的宏.mmmacro"
关键细节:
-i参数必须加:MiniMouseMacro是GUI程序,需要绑定到远程的交互式桌面会话,否则会在后台静默运行(无法执行宏也看不到窗口)- 所有带空格的路径必须用双引号包裹,包括程序路径和宏文件路径
- 确认远程系统上的MiniMouseMacro安装路径,默认是
"C:\Program Files\MiniMouseMacro\MiniMouseMacro.exe"
3. 解除远程UAC权限限制
Windows默认UAC会限制远程账号的权限,导致无法启动GUI程序:
- 在远程电脑上以管理员权限运行CMD,执行以下命令:
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f - 重启远程电脑后生效,这会解除UAC对远程本地账号的权限限制
4. 先在本地CMD调试命令,再导入Stream Deck
不要直接在Stream Deck里编写命令,先在本地CMD里把命令调试通:
示例命令:
"C:\PsTools\PsExec.exe" \\192.168.1.100 -i -u Admin -p MyPass123 "C:\Program Files\MiniMouseMacro\MiniMouseMacro.exe" "D:\Macros\AutoClick.mmmacro"
确认远程电脑能正常弹出MiniMouseMacro并执行宏后,再把完整命令复制到Stream Deck的「打开文件/URL」动作里,选择「命令提示符」作为执行方式。
5. Stream Deck优化:隐藏CMD窗口
如果不想运行时弹出CMD窗口,在命令前添加cmd /c start /min "":
cmd /c start /min "" "C:\PsTools\PsExec.exe" \\192.168.1.100 -i -u Admin -p MyPass123 "C:\Program Files\MiniMouseMacro\MiniMouseMacro.exe" "D:\Macros\AutoClick.mmmacro"
内容的提问来源于stack exchange,提问作者GuberX
相关产品推荐
相关产品推荐

