Не могу обратиться из $FormComboBox.selectedItem в Powershell скрипте
Понадобилось начать изучать работу с PowerShell. Начал с простого, ибо в этом деле абсолютный новичок. Решил сделать скрипт с GUI, который в $FormComboBox заносит из реестра имена всех установленных пользователем приложений. С этим справился, заполняет на ура. Решил допилить кнопку, которая для выбранной проги выводила бы при нажатии Расширенную информацию: издатель, версия и дата установки. Вот все и полетело. Весь интернет перерыл и наш и западный, все документации Майкрософта прочёл. Пробовал по разному все писать, все равно не работает, ошибки выдает. В общем надеюсь на поддержку знающих людей.
Вот скрипт:
Add-Type -assembly System.Windows.Forms
$window_form = New-Object System.Windows.Forms.Form
$window_form.Text ='Установленные приложения'
$window_form.Width = 500
$window_form.Height = 210
$window_form.AutoSize = $true
$FormComboBox = New-Object System.Windows.Forms.ComboBox
$FormComboBox.Width = 250
$Programms = Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName
Foreach ($Programm in $Programms)
{
$FormComboBox.Items.Add($Programm.DisplayName);
}
$FormComboBox.Location = New-Object System.Drawing.Point(10,40)
$window_form.Controls.Add($FormComboBox)
$FormLabel3 = New-Object System.Windows.Forms.Label
$FormLabel3.Text = ""
$FormLabel3.Location = New-Object System.Drawing.Point(10,70)
$FormLabel3.AutoSize = $true
$window_form.Controls.Add($FormLabel3)
$FormButton = New-Object System.Windows.Forms.Button
$FormButton.Location = New-Object System.Drawing.Size(275,30)
$FormButton.Size = New-Object System.Drawing.Size(150,40)
$FormButton.Text = "Расширенная информация"
$window_form.Controls.Add($FormButton)
$FormButton.Add_Click(
{
$FormLabel3.Text = "Дата установки: `n"
$FormLabel3.Text += (Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* -DisplayName $FormComboBox.selectedItem | Select-Object InstallDate).InstallDate.ToString('dd.MM.yy hh:mm:ss') + "`n`n"
}
)
$window_form.ShowDialog()
Понимаю, что очень коряво и неправильно, только начал с этим делом знакомиться.