0

パラメータ (powershell_param_someparam) を受け取るスクリプトで PowershellProbe を定義しました。GUI からスクリプトを実行すると正常に動作しますが、Jakarta インスタンスで実行されているビジネス ルールまたは別のスクリプト タイプからこの Pobe にアクセスしてトリガーする方法がわかりません。

スクリプトからインスタンス化すると、次のような例外がスローされます。

com.glide.script.RhinoEcmaError: "PowershellProbe" is not defined.
sys_script.84088429f884d700a4debe38ef5cb787.script : Line(7) column(0) 5: 
6: var midServer = gs.getProperty("mid.server.connector_default");
==>   7:  var psProbe= new PowershellProbe(midServer, '127.0.0.1');
8:  gs.log("Executed Powershell Probe 2");
9: 10:  var psResponse = psProbe.execute(true);

元のコードは次のようになります。

(function executeRule(current, previous /*null when async*/) {
var midServer = gs.getProperty('mid.server.midserver_scom');
var psProbe= new PowershellProbe( midServer, '127.0.0.1');
var psResponse = psProbe.execute(true);
gs.log("Executed Powershell Probe");
})(current, previous);

私はそれを間違っていますか?

4

1 に答える 1

2

あなたのエラーは言う: "PowershellProbe" is not defined.. GUI から動作すると言う場合は、既にインストールされていると思います。次に、問題はアプリケーションの範囲にある可能性があります。アプリケーション スコープ「グローバル」からスクリプトを呼び出していることを確認してください。別のアプリケーション スコープからスクリプトを呼び出したい場合は、次のように名前空間を使用します。

var powerProbe = new global.PowershellProbe(mid, server);

もう 1 つのことは、実行されるはずの PowerShell コードを決して設定しないことです。これを行うには、mid サーバー スクリプトを定義して渡すか、以下の例のようにsetMidScript設定します。setScript

var mid = 'yourMIDServer';
var server = '127.0.0.1';
var powerShellCode = 'Get-ChildItem';

var powerProbe = new PowershellProbe(mid, server);
powerProbe.setScript(powerShellCode);
var response = powerProbe.execute(true);

gs.log(JSON.stringify(response));
于 2018-02-05T14:55:31.867 に答える