El paso a paso o código que encontrarás en este artículo es la resolución más eficiente y efectiva que hallamos a esta duda o dilema.
Solución:
Debería escribir un programa java como este, aquí hay una muestra basada en el Blog de tecnología de Nirman, la idea básica es ejecutar el comando que llama al proceso de PowerShell de esta manera:
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");
Para ejecutar un script de PowerShell
String command = "powershell.exe "C:\Pathtofile\script.ps" ";
No hay necesidad de reinventar la rueda. Ahora solo puedes usar jPowerShell
String command = "Get-ItemProperty " +
"HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* " +
"| Select-Object DisplayName, DisplayVersion, Publisher, InstallDate " +
"| Format-Table –AutoSize";
System.out.println(PowerShell.executeSingleCommand(command).getCommandOutput());
puede intentar llamar a powershell.exe con algunos comandos como:
String[] commandList = "powershell.exe", "-Command", "dir";
ProcessBuilder pb = new ProcessBuilder(commandList);
Process p = pb.start();
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)