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

在NinjaRMM托管设备运行JavaScript脚本遇错误的求助

解决NinjaRMM中WSH环境运行JavaScript脚本的问题

核心问题分析

你遇到的矛盾和错误,本质是Microsoft Script Host (WSH)的JScript环境和Node.js/浏览器JS环境的差异:

  • WSH的JScript对const的支持存在兼容性问题,即使版本是v5.81,实际运行时仍可能触发语法错误
  • WSH环境没有console全局对象,console.log自然会报未定义错误
  • NinjaRMM的脚本状态判断仅基于进程是否正常退出(返回码0),而非是否有运行时错误,同时WSH的输出会被单独捕获到“更多”面板,所以会出现“报错但显示输出、状态为success”的矛盾情况

修复后的脚本代码

将原代码替换为适配WSH环境的版本:

var msg = "Hello World!!";
WScript.Echo(msg);

关键修改说明

  • 把const换成var:WSH的JScript对var的支持完全稳定,避免const的兼容性问题
  • 用WScript.Echo替代console.log:这是WSH环境中唯一的标准输出方法,输出内容会被NinjaRMM捕获并显示在“更多”面板中

额外提示

如果需要查看WSH环境的全局命名空间内容,可以添加以下代码打印所有全局属性:

for (var prop in this) {
    WScript.Echo(prop);
}

运行后就能直观看到WSH提供的全局对象与方法,方便后续编写适配脚本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 22:22:43