使用JAVA在远程计算机上运行PowerShell

我想使用java在一些远程机器上运行powershell。 如何实现这一目标。 目前这段代码没有在本地运行powershell命令。!!

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”的内容。

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

但首先要确保此命令在命令行中正常工作。