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

如何从PowerShell将AWS密钥环境变量传入原生JavaScript?

解决方法

因为你用的是原生JavaScript执行环境(不是Node.js),所以不存在process对象,给你两个内存级的可行传递方案:

方案1:通过命令行参数传递

修改PowerShell的运行命令,把环境变量作为参数传给脚本:

& '\path\to\ScriptRunner.exe' '\path\to\CognosGroupsExtract.js' $env.aws_password

然后在JS脚本里读取命令行参数(具体要看ScriptRunner的参数暴露规则,这类工具通常会把脚本路径后的参数放到全局arguments数组或args数组里):

// 测试确认索引:如果脚本路径是第0个参数,密码就是第1个;如果额外参数从0开始计数,就取args[0]
var password = arguments[1]; 
// 或者用args数组:var password = args[0];
server.logon("username", password);

方案2:直接在JS里读取系统环境变量

如果ScriptRunner支持ActiveX(Windows环境下这类工具基本都支持),可以通过WScript.Shell读取当前进程的环境变量(子进程会继承父进程PowerShell的环境变量):

var shell = new ActiveXObject("WScript.Shell");
// PROCESS表示读取当前进程的环境变量集合
var password = shell.Environment("PROCESS").Item("aws_password");
server.logon("username", password);

这种方式不用修改PowerShell的运行命令,全程内存传递,不会把密码写到文件里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 10:55:56