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

WMIC远程执行脚本时,嵌套WMIC回连执行日志脚本失效问题求助

问题分析

当通过电脑1的WMIC远程启动电脑2上的Script.bat时,脚本运行在电脑2的**会话0(系统服务会话)**中——这个会话无交互式用户的网络凭据缓存,也没有完整的网络访问上下文。而本地运行Script.bat时是在用户交互式会话里,能直接使用当前用户的凭据完成回连电脑1的WMIC验证,这就是嵌套WMIC命令执行失败的核心原因。

解决方案

1. 显式指定回连WMIC的凭据

在Script.bat的嵌套WMIC命令中,直接传入电脑1的有效用户凭据,避免依赖会话默认凭据:

@echo off
REM 执行目标程序并捕获输出
foo.exe > execution_log.txt
findstr "success" execution_log.txt

if %errorlevel% equ 0 (
    REM 回连电脑1执行成功日志脚本
    wmic /node:电脑1的IP或主机名 /user:电脑1\管理员账号 /password:对应密码 process call create "cmd /c C:\路径\Success.bat"
) else (
    REM 回连电脑1执行失败日志脚本
    wmic /node:电脑1的IP或主机名 /user:电脑1\管理员账号 /password:对应密码 process call create "cmd /c C:\路径\Failure.bat"
)

如果不想明文存储密码,可预先在电脑2上添加电脑1的凭据缓存:

cmdkey /add:电脑1的主机名 /user:电脑1\管理员账号 /pass:对应密码

之后Script.bat中的WMIC命令即可省略/user和/password参数,直接调用缓存凭据。

2. 通过计划任务在用户会话运行脚本

改用schtasks远程创建计划任务,让Script.bat在电脑2的交互式用户会话中运行,继承用户的网络凭据:
在电脑1上执行以下命令,远程创建并触发任务:

REM 创建计划任务
schtasks /create /s 电脑2的主机名 /u 电脑2\管理员账号 /p 对应密码 /tn "RunScriptTask" /tr "C:\路径\Script.bat" /sc once /st 00:00 /rl highest /f
REM 立即启动任务
schtasks /run /s 电脑2的主机名 /u 电脑2\管理员账号 /p 对应密码 /tn "RunScriptTask"

3. 检查WMI权限与防火墙配置

  • WMI权限:在电脑1的「计算机管理」→「服务和应用程序」→「WMI控制」右键属性→「安全」,添加电脑2的用户并授予「远程启用」权限。
  • 防火墙规则:在电脑1上执行命令开放WMI通信端口:
netsh advfirewall firewall add rule name="WMI固定端口" dir=in action=allow protocol=TCP localport=135
netsh advfirewall firewall add rule name="WMI动态端口" dir=in action=allow service=Winmgmt enable=yes

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 20:04:55