1
Get-WmiObject -list | where-object {$_.name -match "win32"} | Select-Object 
name,methods,properties

这显示了每个 Win32 类的名称、方法和属性,我想将此信息放入 CSV 文件中。

但是,以下输出不会输出相同的信息。

Get-WmiObject -list | where-object {$_.name -match "win32"} | Select-Object 
name,methods,properties | Export-CSV "c:\output.csv"

我怎样才能做到这一点?

(更新了我的脚本,因为它有一个错误。)

4

2 回答 2

2

您需要做一些额外的手动工作,并确保扩展名称并通过一些分隔符加入它们:

$methods = @{n='Methods';e={ ($_.Methods | select -expand Name) -join ';'}}
$properties = @{n='Properties';e={ ($_.Properties  | select -expand Name) -join ';'}}

Get-WmiObject -List | 
Where-Object {$_.Name -like "Win32_*"} | 
Select-Object Name,$methods,$properties | 
Export-Csv .\win32.csv -NoTypeInformation
于 2012-10-03T11:12:42.130 回答
2

这里的问题是每个 WMI 对象都具有本身就是数组的属性,而 Output-CSV 无法真正处理它。

要解决此问题,您需要显式处理数组数组。

你具体想输出什么?

于 2012-10-03T11:21:47.807 回答