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 に答える