1

我在这里遇到了一个真正的问题。

拿这个代码:

Get-WmiObject Win32_ComputerSystemProduct -ComputerName summer | Select Vendor,Version,Name,IdentifyingNumber,UUID

我正在尝试获取已通过管道传输到 Datagridview 的上述 Get-WMIobject,其数据输出与直接通过控制台运行时看到的相同。

出于某种原因,它一直被输出到 DatagridView 中,供应商、版本等列显示似乎是目录路径或一些我不想要的此类数据。

在控制台中自己尝试一下,我希望它如何输出。

这是我正在使用的数据网格视图:

$arrayt = New-Object System.Collections.ArrayList
  $global:target_active_d = Get-WmiObject Win32_ComputerSystemProduct -ComputerName $target_hostname.text | get-member Vendor,Version,Name,IdentifyingNumber,UUID
  $arrayt.AddRange($target_active_d)
  $target_output.DataSource = $arrayt

请帮忙

谢谢!

4

2 回答 2

1

尝试这样的事情:

$arrayt = New-Object System.Collections.ArrayList
  $global:target_active_d = Get-WmiObject Win32_ComputerSystemProduct -ComputerName $target_hostname.text | Select-Object Vendor,Version,Name,IdentifyingNumber,UUID
  $arrayt.Add($target_active_d)
  $target_output.DataSource = $arrayt
于 2012-04-25T20:40:47.657 回答
0

此代码向我展示了您在 Get-WmiObject 代码段中选择的字段:

Clear-Host
$objForm = New-Object System.Windows.Forms.Form
$objForm.AutoSize = $True
$current_output = New-Object System.Windows.Forms.DataGridView 
$current_output.AutoSize = $True
$objForm.Controls.Add($current_output) 
$arraylist = New-Object System.Collections.ArrayList
$arraylist.Add((Get-WmiObject Win32_ComputerSystemProduct -ComputerName "." | Select-Object Vendor,Version,Name,IdentifyingNumber,UUID))
$current_output.DataSource = $arraylist
[void]$objForm.Activate()
[void]$objForm.ShowDialog()
[void]$objForm.Dispose()
于 2013-03-23T10:13:08.883 回答