0

基本上我想使用 Powershell 来转储root\cimv2命名空间中所有可用类的列表。我有一个完成任务的 vbscript:

Set objWMIService = _ 
   GetObject("winmgmts:{impersonationLevel=impersonate}root\cimv2")

Set colClasses = objWMIService.SubClassesOf

For Each objClass In colClasses
If Left(objClass.Path_.Class,6) = "Win32_" Then
   WScript.Echo objClass.Path_.Class
End If
Next

我已经能够让 powershell 检索列表,但我似乎无法弄清楚如何将Write-Host其命名为名称。这就是我现在的位置:

$WMIService = Get-WmiObject -Namespace root\cimv2 -List
$aClasses = $WMIService.SubClassesOf
foreach ($Class in $aClasses) {
    Write-Host $Class.Path_.Class
}

Powershell 转储了一长串一无所有的东西,所以我知道它列举了一些东西。我已经尝试了各种方法$Class.x,但还没有达到神奇的效果。有人知道吗?

4

1 回答 1

2

类似于:

$WMIService = Get-WmiObject -Namespace root\cimv2 -List
$WMIService | where { $_.Name -like "Win32_*" } | foreach { $_.Name }

会给你你想要的东西,我想。

于 2013-10-17T21:33:53.487 回答