SystemWorker
Wakanda サーバー側 API で何かを達成しようとしています。しかし、私はそれを達成することはできません。のワークフローで何かが欠けていると確信していますSystemWorker
。
Windows から PowerShell を起動し、内部で 2 つのコマンドを実行したいと考えています。これを手動で行うにpowershell
は、cmd.exeを実行するだけで、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" }
]
}
]
Add-Type -AssemblyName "PresentationCore"
2 つのコマンドを[Windows.Media.Fonts]::SystemFontFamilies
PowerShell で実行して、マシンで使用可能なすべてのフォントのリストを取得したいだけです。
タスク マネージャーを調べると、PowerShell が起動されますが、2 つのコマンド ラインを実行したり、データを取得したりすることはできません。私はonterminated
コールバックにたどり着くだけです。
私は何が欠けていますか?