То, что вы спрашиваете, невозможно, так как оно не позволяет отображать опцию на панели задач в зависимости от способа выполнения вызова.
При выполнении кода вы заметитечто он вообще не отображается на панели задач, даже если вы ничего не нажимаете.
Выполнение этой старой школы, хотя и считается устаревшей, дает тот же графический интерфейс и будет отображаться на панели задач ...
Пример
$application = New-Object -ComObject Shell.Application
$path = ($application.BrowseForFolder(0, 'Select a folder', 0)).Self.Path
... недостатком здесь является то, что он не отображается автоматически как самый верхний, что вынуждает вас найти его напанель задач, чтобы щелкнуть по нему, чтобы привести его в фокус.Итак, вам нужно добавить код для решения этой проблемы.
Пример
$application = New-Object -ComObject Shell.Application
$application.MinimizeAll()
$path = ($application.BrowseForFolder(0, 'Select a folder', 0)).Self.Path
$application.UndoMinimizeALL()
Итак, это, Мин / Макс, конечно, можетесли вы плохо знакомы с пользователем, вам придется взвесить этот вариант использования.
Теперь вы также можете использовать вышеприведенное, чтобы убедиться, что диалоговое окно всегда находится сверху, а другой объект нельзя щелкнуть, пока он не будет отклонен., сделав эту модификацию.
Пример:
$handle = [System.Diagnostics.Process]::GetCurrentProcess().MainWindowHandle
$application = New-Object -ComObject Shell.Application
($path = ($application.BrowseForFolder([int]$handle, 'Select a folder', 0)).Self.Path)
Учитывая все, ИМХО, исходя из того, что вы после, вы можетеВы хотите создать свой собственный графический интерфейс WPF для этого или простую форму запуска для этого.
Грубый пример:
$null = Add-Type -AssemblyName System.Windows.Forms
$form = new-object Windows.Forms.Form
$dlg = new-object Windows.Forms.FolderBrowserDialog
$button = new-object Windows.Forms.Button
$button.Text = "Push me!"
$button.Dock = "fill"
$button.add_click({$dlg.ShowDialog()})
$form.Controls.Add($button)
$form.Add_Shown({$form.Activate()})
$form.ShowDialog()