0
我正在嘗試使用以下程序使用ProcessBuilder
。該程序包含本地路徑,但我想調用位於網絡上的同一腳本。如何從Java程序調用位於網絡上的powershell腳本?
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class TestPowershell {
public static void main(String[] args) throws IOException
{
Runtime runtime = Runtime.getRuntime();
//Process proc = runtime.exec("cmd.exe /c powershell.exe C:\\get-sevice-gsvc.ps1"); // old code
ProcessBuilder pb = new ProcessBuilder("powershell", "-file", "C:\\get-sevice-gsvc.ps1", "127.0.0.1");
pb.redirectErrorStream(true);
Process proc = pb.start();
InputStream is = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(isr);
String line;
try{
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
reader.close();
proc.getOutputStream().close();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}
有什麼想法?
你想從網上下載腳本,然後運行它?或者向服務器發送請求,以便服務器可以運行它 – Jatin
此腳本位於需要運行的遠程盒子上,然後我將在while循環中處理輸出。我不需要下載。沒有應用程序或服務器在遠程盒子上運行。我的意思是遠程機器上沒有接收器。這是一個普通的Java調用遠程PowerShell腳本。 – user617966
你有遠程機器上的shell連接嗎?我的意思是某種SSH連接設置? – Jatin