Выполнить программу C# удаленно через PowerShell, используя Java - PullRequest
0 голосов
/ 05 августа 2020

Среда: Windows 10 (Java) -> Windows 10 (PowerShell и C#) Java: 1.8.0_252

Попытка удаленно выполнить программу C# через PowerShell из Java. Кажется, возникли проблемы с путем. Программа C# находится в подкаталоге на общем диске.

import java.io.*;
public class CallCSharp {
    public static void main(String[] args) {
        try {
            ProcessBuilder builder = new ProcessBuilder("powershell.exe", "/c",
             "\\SharedDrive\\Data\\Bin\\Program.exe \\\\10.1.1.1 -u user -p password");
            builder.redirectErrorStream(true);
            Process p = builder.start();
            BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line;
            while (true) {
               line = r.readLine();
               if (line == null) {
                    break;
               }
                System.out.println(line);
            }
        } catch (Exception e){
           e.printStackTrace();
        }
    }
}

Возвращенная ошибка:

The term '\SharedDrive\Data\Bin\Program.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Путь правильный, и программа C# может быть успешно запущена . Подозреваю, что я неправильно форматирую вызов ProcessBuilder.

...