Я бы не рекомендовал создавать форму с выпадающим списком и возвращать выбор из этого, так как Powershell практически не создан для этого.
Конечно, я не думаю, что это невозможно, нов этом случае я бы использовал функцию Out-GridView для выполнения работы, которая соответствует вашим потребностям.
$files_location = "C:\yourlocation\*"
$options = Get-ChildItem $files_location
$user_choice = $options | Out-GridView -Title 'Select the File you want to show' -PassThru
Switch ($user_choice) {
#Condition to check:
{ $user_choice.Name -eq 'textfile1.txt' }
#Do something:
{
Write-Host "Im going to open $($user_choice.Name)"
#Open the file:
start "$user_choice"
}
#Continue your switch/case conditions here...
}
Я использую объект вывода из Get-ChildItem функция и вывод из нее вида сетки.
Вы можете изменить регистр Switch на , если оператор , если вам удобнее использовать эту функцию:
$files_location = "C:\yourlocation\*"
$options = Get-ChildItem $files_location
$user_choice = $options | Out-GridView -Title 'Select the File you want to show' -PassThru
if ($user_choice.Name -eq 'a.txt')
{
start $user_choice
}