Привет, я новичок в powershell, я ищу Get-WmiObject -Class Win32_Product для вывода в форме GUI. Спасибо заранее.Get Get-WmiObject -Class Win32_Product Выход на форме GUI
Ниже приведен код, мне нужно добавить ярлык к кнопкам и назначить функцию каждой кнопке.
Метка: Удаление Функция: Удаление
Start-Process Powershell -verb RunAs # Загрузить Windows Forms сборки [аннулируются] [System.Reflection.Assembly] :: LoadWithPartialName ("System.Windows.Forms") [ void] [System.Windows.Forms.Application] :: EnableVisualStyles() # Создать GUI $ form = New-Object System.Windows.Forms.Form $ form.Size = New-Object System.Drawing.Size (920 500) $ form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle] :: Fixed3D $ form.StartPosition = [System.Windows.Forms.FormStartPosition] :: CenterScreen $ dataGridView = New-Object System.Windows.Forms.DataGridView $ dataGridView.Size = New-Object System.Drawing.Size (900,400) $ button = New-Object System.Windows.Forms.Button $ button.Location = New-Object System.Drawing .Size (400,420) $ button.Size = New-Object System.Drawing.Size (75,25) $ button.text = "Удалить" $ form.Controls.Add ($ button) $ form.Controls.Add ($ dataGridView) # Выберите соответствующие столбцы $ dataGridView.Columns.Insert (0, (New-Object System.Windows.Forms.DataGridViewButtonCell)) $ dataGridView.ColumnCount = 8 $ dataGridView.ColumnHeadersVisible = $ true $ dataGridView.Columns [0] .Name = «Удалить» $ dataGridView.Columns [1] .Name = "Описание" $ dataGridView.Columns [2] .Name = "IdentifyingNumber" $ dataGridView.Columns [3] .Name = "Name" $ dataGridView.Columns [4]. Name = "Vendor" $ dataGridView.Columns [5] .Name = "Version" $ dataGridView.Columns [6] .Name = "Caption" $ dataGridView.Columns [7] .Name = "InstallLocation" $ dataGridView.Columns [0 ] .width = 40 $ dataGridView.Columns [1] .width = 200 # Получить список элементов < # Get-WmiObject -Class Win32_Product | Еогеасп {$ dataGridView.Rows.Add ($ .Проверить, $ .description, $ .IdentifyingNumber, $ .Name, $ .Vendor, $ .Version, $ .Caption, $ .InstallLocation) | out-null} #> # Функция обновления gridClick() {$ rowIndex = $ dataGridView.CurrentRow.Index $ columnIndex0 = $ dataGridView.ColumnIndex + 1 $ columnIndex1 = $ dataGridView.ColumnIndex + 2 $ columnIndex2 = $ dataGridView.ColumnIndex + 3 $ columnIndex3 = $ dataGridView.ColumnIndex + 4 $ columnIndex5 = $ dataGridView.ColumnIndex + 5 # Write-Host $ rowIndex # Write-Host $ columnIndex0 # Write-Host $ dataGridView.Rows [$ rowIndex] .Cells [0] .value Write- Host $ dataGridView.Rows [$ rowIndex] .Cells [$ columnIndex0] .value Write-Host $ dataGridView.Rows [$ rowIndex] .Cells [$ columnIndex1] .value Write-Host $ dataGridView.Rows [$ rowIndex] .Cells [ $ columnIndex5] .value # $ IdentifyNumber = $ dataGridView.Rows [$ rowIndex] .Cells [$ ClassKey] .value # $ Name = $ dataGridView.Rows [$ rowIndex] .Cells [$ columnIndex0] .value # $ classKey = ' IdentifyingNumber = $ IdentifyingNumber.value, Name = $ Name.value, Version = $ Version.value '# Write-Host $ classKey # ([wmi] "\ $ server \ root \ cimv2: Win32_Product. $ ClassKey"). Uninstall ()} $ Uninstall = $ dataGridView.Add_CellMouseClick ({gridCl Ick}) # Показать форму [пустота] $ Form.ShowDialog()
Какой Powershell версии? Маркировка определенной версии означает, что желательно, чтобы решение, которое работает * только * на этой версии. Поскольку PS2/3/4 совершенно разные, пометка всех этих объектов может оказаться нецелесообразной. – vonPryz
Какую форму GUI вы ищете, во всяком случае?Будет ли «Out-GridView» достаточно хорошим? – vonPryz
Спасибо за ответ .. Out-Gridview справедлив для меня, но Matt Szadziul ans - это то, что я ищу. – Deep