2016-10-31 41 views
2

を通じて私は、実行するPowerShellスクリプトをリモートのJava

invoke-command -ComputerName "compName" -filepath "c:\script.ps1" -credential "admin" 

をPowerShellは、それ自体によって、以下のPowerShellコマンドを実行することですが、私は、Javaによることを実行しようとすると、私はエラーを取得します。 「Invoke-command」のようなサウンドは、Javaから実行されるプログラムとして認識されません。この場合、他に解決策はありますか?

Process p = new ProcessBuilder() 
       .inheritIO() 
       .command("invoke-command", "-computername", "compName", 
         "-filepath", "C:\\script.ps1").start(); 

エラー 、

"起動コマンド" のプログラムを実行することはできません:CreateProcessをエラー= 2を、ファイルを見つけることができないシステムは、指定された

P.S.エラーは、提供されたfilePathに関連しているのではなく、invokeコマンド自体の周囲にあります。

ありがとうございます。

+0

は '、それはPowerShellコマンドですので、あなたPowerShellのコマンドライン、つまり 'powershell.exe -Command your-command-here'で実行する必要があります。 – Andreas

答えて

3

あなたはinvoke-commandを書いたようにこのようにあなたはPowerShellのTUがそうのようなコマンドを実行する呼び出す必要があり、PowerShellコマンドです:呼び出し-command`は、Windowsのコマンドではありません

Process p = new ProcessBuilder() 
       .inheritIO() 
       .command("powershell", "invoke-command", "-computername", "compName", 
         "-filepath", "C:\\script.ps1").start(); 
+1

ありがとう@dudel!私はちょうどそれをまた考え出した。私の愚かなエラーメッセージは非常に明確でした。他の人にとって役に立つかもしれない場合に備えて、ここにコードを保管してください。再度、感謝します。 – Sara

+0

Happens =)ようこそ! – dudel

関連する問題