2016-11-20 7 views
0

Я написал программу Java, которая выполняет команду PowerShell. Вот мой код:Выполнение команд Vmware PowerShell в программе Java

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class PowerShellCommand { 
    public static void main(String[] args) throws IOException { 
    String command = "powershell.exe your command"; 
    // Getting the version 
    String command = "powershell.exe $PSVersionTable.PSVersion"; 
    // Executing the command 
    Process powerShellProcess = Runtime.getRuntime().exec(command); 
    // Getting the results 
    powerShellProcess.getOutputStream().close(); 
    String line; 
    System.out.println("Standard Output:"); 
    BufferedReader stdout = new BufferedReader(new InputStreamReader(
     powerShellProcess.getInputStream())); 
    while ((line = stdout.readLine()) != null) { 
     System.out.println(line); 
    } 
    stdout.close(); 
    System.out.println("Standard Error:"); 
    BufferedReader stderr = new BufferedReader(new InputStreamReader(
     powerShellProcess.getErrorStream())); 
    while ((line = stderr.readLine()) != null) { 
     System.out.println(line); 
    } 
    stderr.close(); 
    System.out.println("Done"); 
    } 
} 

То, что я хочу сделать, это: вместо выполнения команды в локальном PowerShell Я хочу, чтобы сделать код выполнить команду в PowerShell сервера Windows, который работает на VMware? Как мне изменить код для этого?

ответ

0

Have PowerShell invoke команду на удаленном хосте:

String server = "remotehost"; 
String command = "powershell.exe -Command \"&{Invoke-Command -Computer " + 
       server + " -ScriptBlock {$PSVersionTable.PSVersion}}\""; 

Удаленный хост должен иметь PSRemoting включен для этой работы.

+0

Я сделал так, как сказал мне. Но эта ошибка появляется: подключение к удаленному серверу 192.168.2.3 не удалось со следующим сообщением об ошибке: Доступ запрещен. Для дополнительную информацию см. В разделе справки about_Remote_Troubleshooting. + CategoryInfo: OpenError: (192.168.2.3:String) [], PSRemotingTransportException + FullyQualifiedErrorId: AccessDenied, PSSessionStateBroken -------------------------- ---------------------------------- Я провел много исследований, но я не мог найти ничего, чтобы справиться с этим –

+0

Вы «видели тему справки about_Remote_Troubleshooting»? –