Javascript 如何使用SystemWorker执行PowerShell命令?
我试图通过Wakanda服务器端API的Javascript 如何使用SystemWorker执行PowerShell命令?,javascript,powershell,wakanda,Javascript,Powershell,Wakanda,我试图通过Wakanda服务器端API的SystemWorker实现一些功能。但我无法实现它。我确信我在SystemWorker的工作流中遗漏了一些内容 我想从Windows启动PowerShell,然后在其中运行两个命令。要手动执行此操作,我只需在cmd.exe中运行powershell,然后就可以开始编写powershell命令并取回数据 在Wakanda,我用以下代码设置了一个ssjs文件: var powershell = new SystemWorker(['powershell'],
SystemWorker
实现一些功能。但我无法实现它。我确信我在SystemWorker
的工作流中遗漏了一些内容
我想从Windows启动PowerShell,然后在其中运行两个命令。要手动执行此操作,我只需在cmd.exe中运行powershell
,然后就可以开始编写powershell命令并取回数据
在Wakanda,我用以下代码设置了一个ssjs文件:
var powershell = new SystemWorker(['powershell'],null);
powershell.postMessage('Add-Type -AssemblyName "PresentationCore"');
powershell.endOfInput();
powershell.postMessage('[Windows.Media.Fonts]::SystemFontFamilies');
powershell.endOfInput();
powershell.onmessage = function (event) {
var data = event.data;
debugger;
};
powershell.onerror = function (event) {
debugger;
};
powershell.onterminated = function (event) {
// potentially check event.exitStatus or event.forced
debugger;
exitWait();
};
wait();
我还有一个systemWorkers.json文件,其中包含:
[
{
"name" : "powershell",
"executable" :
[
{ "path" : "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" }
]
}
]
我只想在我的PowerShell中执行两个命令Add Type-AssemblyName“PresentationCore”
和[Windows.Media.Fonts]::SystemFontFamilies
,以获取计算机上所有可用字体的列表
如果我查看任务管理器,会启动PowerShell,但我始终无法执行我的两个命令行或获取数据。我只能在onterminated
回调中结束
我错过了什么?最后我努力让它发挥作用 现在,我将命令放在一个ps1文件中,作为参数提供给我的
SystemWorker
看起来是这样的:
var powershell = new SystemWorker(['powershell "C:/Users/<MyName>/Desktop/<myScript>.ps1"'],null);
powershell.onmessage = function (event) {
};
powershell.onerror = function (event) {
};
powershell.onterminated = function (event) {
exitWait();
};
wait();
var-powershell=new-SystemWorker(['powershell“C:/Users//Desktop/.ps1“”],null);
powershell.onmessage=函数(事件){
};
powershell.onerror=函数(事件){
};
powershell.onterminated=函数(事件){
exitWait();
};
等待();
我认为这样做更容易,所以我的所有命令都在一个文件中,然后我只要求系统工作人员执行PowerShell并运行我的脚本