Me parece que el cuadro de diálogo se está abriendo realmente bien, pero está detrás de la ventana de la consola de powershell. Lamentablemente, no se muestra en la barra de tareas, por lo que no hay ninguna indicación de que esté allí a menos que mueva la ventana de PowerShell o Alt + Tab. También parece que la solución de ShowHelp no tuvo ningún efecto para mí.
EDIT Aquí hay una manera de hacerlo con su idea de forma secundaria. La idea básica es crear un nuevo formulario que abra OpenFileDialog desde dentro de su evento Mostrado. La tecla está llamando a Activar en el formulario antes de abrir el cuadro de diálogo, de modo que el formulario llegue al frente y aparezca el cuadro de diálogo. Moví el formulario fuera de pantalla configurando la Ubicación en un valor fuera de pantalla, pero alternativamente, puede establecer Form.Visible = $ false desde el evento Mostrado.
[void] [Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
$ofn = New-Object System.Windows.Forms.OpenFileDialog
$outer = New-Object System.Windows.Forms.Form
$outer.StartPosition = [Windows.Forms.FormStartPosition] "Manual"
$outer.Location = New-Object System.Drawing.Point -100, -100
$outer.Size = New-Object System.Drawing.Size 10, 10
$outer.add_Shown({
$outer.Activate();
$ofn.ShowDialog($outer);
$outer.Close();
})
$outer.ShowDialog()
Si alguien está interesado, esto es lo que lo estaba usando para: http://stackoverflow.com/questions/182573/powershell-cli-or-gui-which-do-you- need-or-prefer # 216936 –