Proceso de Powershell que se bloquea cuando se llama desde la aplicación Java

Estoy tratando de escribir una aplicación simple que tenga un argumento de línea de comando (que será un archivo Powershell ps1) y luego ejecutarlo. Así que he experimentado con varios enfoques diferentes y parece que me encuentro con un problema. Si intento invocar PowerShell desde Java, el proceso de Windows se inicia y es visible a través del explorador de procesos, sin embargo, PowerShell nunca regresa, se cuelga en algún tipo de bucle por su aspecto. El comando que estoy usando es:

            String command = "powershell -noprofile -noninteractive \"&C:\\new\\tst.ps1\"";

El comando se ejecuta usando:

Runtime systemRuntime = Runtime.getRuntime();
Process proc = systemRuntime.exec(command);

Por el momento, estoy codificando la ubicación del archivo ps1 porque estaba tratando de descartar esto como un problema. Usando un explorador de procesos puedo ver el proceso de PowerShell colgante y el comando que se le pasó fue:

powershell -noprofile -noninteractive "&C:\new\tst.ps1"

que cuando se copia en una ventana cmd, funciona para iniciar el archivo tst.ps1. El archivo en sí es increíblemente simple en este ejemplo y creo que puedo descartar que sea la causa de la congelación ya que he intentado lanzar otros archivos ps1, se puede ver el mismo comportamiento.

Para aumentar aún más la confusión, si uso el código de Java publicado anteriormente y paso los comandos de PowerShell en lugar de un nombre de archivo, entonces se ejecuta con éxito.

He explorado la web y veo que muchas personas experimentan el mismo problema, pero parece que nadie ha publicado la solución, espero que sea un simple descuido de mi parte y se pueda solucionar fácilmente.

Cualquier sugerencia / consejo es apreciada: D

Alan

Respuestas a la pregunta(2)

Su respuesta a la pregunta