ダイアログは実際には問題なく開いているように見えますが、PowerShellコンソールウィンドウの背後にあります。残念ながら、タスクバーには表示されないため、PowerShellウィンドウまたはAlt+Tabを移動しない限り表示されません。また、ShowHelpの回避策は私には何の効果もなかったようです。
編集これは、二次形式のアイデアを使用してそれを行う方法です。基本的な考え方は、Shownイベント内からOpenFileDialogを開く新しいフォームを作成することです。キーは、ダイアログを開く前にフォームでアクティブ化を呼び出すことです。これにより、フォームが前面に表示され、ダイアログが表示されます。Locationをオフスクリーン値に設定してフォームをオフスクリーンに移動しましたが、Shownイベント内からForm.Visible =$falseを設定することもできます。
[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()