Я пытаюсь использовать следующую программу, используя ProcessBuilder
. Эта программа содержит локальный путь, но Я хочу вызвать тот же скрипт, расположенный в сети.Как вызвать скрипт powershell, расположенный в сети из Java-программы?
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());
}
}
}
Любые мысли?
u хотите загрузить скрипт из сети и затем запустить его? Или отправьте запрос на сервер, чтобы сервер мог его запустить. – Jatin
этот скрипт находится в удаленном окне, которое необходимо запустить, а затем обработать вывод в цикле while. Мне не нужно скачивать. В удаленном ящике нет приложения или сервера. Я имею в виду, что на удаленном компьютере нет приемника. Это простой Java-вызов для удаленного сценария powershell. – user617966
У вас есть соединение с оболочкой на удаленной машине? Я имею в виду какие-то настройки ssh-соединений? – Jatin