使用JAVA在远程计算机上运行powershell
我想使用java在远程机器上运行powershell。 如何做到这一点。? 当前此代码未在本地运行powershell命令使用JAVA在远程计算机上运行powershell,java,powershell,Java,Powershell,我想使用java在远程机器上运行powershell。 如何做到这一点。? 当前此代码未在本地运行powershell命令 public void main() throws Exception{ String[] command = { /*"cmd.exe", "/C",*/ "powershell", "Command","&","echo '********** hello world ********'"}; String out; ProcessBuild
public void main() throws Exception{
String[] command = { /*"cmd.exe", "/C",*/ "powershell", "Command","&","echo '********** hello world ********'"};
String out;
ProcessBuilder processBuilder = new ProcessBuilder(command);
Process process = null;
try {
process = processBuilder.start();
Logger.getInstance().info("process started" );
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
java.io.InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
// create a reader for the return data from cmd.
StringBuilder sb = new StringBuilder();
// create a string builder to automate the string addition
try {
while ((out = br.readLine()) != null) {// build the input
// string from
// cmd.
sb = sb.append(out);
System.out.println(out);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
此代码无限期运行。没有任何输出。您可以尝试运行类似“invoke command-computername Server1-filepath c:\scripts\script.ps1”的命令
但首先要确保该命令在命令行中正常工作。您能告诉我如何通过java方法执行此操作吗?目前我正在尝试在本地运行powershell命令。请查看我的编辑,并告诉我代码中出现了什么错误。它将在本地运行powershell命令。新建ProcessBuilder().inheritIO().command(“powershell”、“echo”、“111”).start();对我来说可以并打印111,请尝试它无法解析importIO(),您使用了哪个导入。我使用了import.java.io*
Process p = new ProcessBuilder()
.inheritIO()
.command("invoke-command", "-computername", "Server1",
"-filepath", "C:\\scripts\\script.ps1").start();
p.waitFor();