最近在写一个WMI相关的项目,其中要获取的信息一个个去找比较麻烦,所以搜到了一篇文章
https://www.secpulse.com/archives/39555.html
里面给出了一种枚举CIM类的方法,只是是图片版本的。在此转录如下
function Get-WmiNamespace{ Param ($Namespace='ROOT') Get-WmiObject -Namespace $Namespace -Class __NAMESPACE | ForEach-Object{ ($ns='{0}\{1}' -f $_.__NAMESPACE, $_.Name) Get-WmiNamespace -Namespace $ns } } $WmiClasses = Get-WmiNamespace | ForEach-Object{ $Namespace = $_ Get-WmiObject -Namespace $Namespace -List | ForEach-Object{ $_.Path.Path} } | Sort-Object -Unique
上面代码的变量$WmiClasses
内存储了所有类的内容,格式为
\\DESKTOP-25DASD6Q\ROOT\CIMV2:CIM_Processor
可以使用
echo $WmiClasses > D:\wmi.txt
将变量保存到文件中