Bueno, me contesto a mi mismo con lo que he conseguido, por si a alguien le sirviera de ayuda.
Como decía, es la primera vez que hago formularios (en cualquier lenguaje). No soy programador, sino administrador de sistemas, y me única experiencia es en scripting.
Finalmente, he diseñado el formulario con WPF en VS Express y el XML resultante me lo he llevado al script de Powershell.
En el formulario, he definido un textbox que será la "consola".
Luego, en la función Write-Log definida que inicialmente registraba en un fichero de texto la salida por consola, he añadido:
$Form.Dispatcher.Invoke("Render",[action]{$WPFOutputBox.Text += ("$($LogString)`n")})
$Form.Dispatcher.Invoke("Render",[action]{$WPFOutPutBox.ScrollToEnd()})
de modo, que cada "escritura" que se hace por pantalla (en lugar de usar Write-Host utilizo Write-Log que es mi función) actualiza el TextBox del formulario y hace scroll del mismo para que siempre se vea el final.
Desconozco si es el método mas adecuado, pero funciona perfectamente.
Espero que pueda servirle a alguien.
Un saludo.
Diego.