You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CIM/WMI cmdlets查看WMI类方法的完整属性及参数描述?

如何通过CIM/WMI cmdlets查看WMI类方法的完整属性及参数描述?

当然可以!你完全能用PowerShell的CIM/WMI cmdlets获取到WMI类方法的完整参数信息、类型定义甚至参数描述,比你之前只列出方法名称要详细得多。我平时排查WMI相关的脚本问题时,经常用这个方式来确认方法的参数要求,不用再去翻文档啦。

用现代的CIM Cmdlets(推荐)

CIM是WMI的更新版本,功能更完善,建议优先使用。以你提到的Win32_SystemDriver类的Create方法为例,步骤如下:

  1. 获取目标类的元数据
    先把类的信息加载到变量里:

    $systemDriverClass = Get-CimClass -ClassName Win32_SystemDriver
    
  2. 定位到具体的方法
    从类的方法集合中找到Create方法:

    $createMethod = $systemDriverClass.CimClassMethods['Create']
    
  3. 查看方法的完整参数信息(含描述)
    运行下面的命令,就能一次性获取每个参数的名称、类型、描述以及是否为输入参数:

    $createMethod.Parameters | ForEach-Object {
        [PSCustomObject]@{
            参数名称 = $_.Name
            参数类型 = $_.CimType
            参数描述 = ($_.Qualifiers | Where-Object Name -eq 'Description').Value
            输入参数 = ($_.Qualifiers | Where-Object Name -eq 'In').Value
        }
    }
    

    执行后你会看到和文档里完全对应的参数列表,比如Name参数的描述、ServiceType的类型定义等。

  4. 查看方法的返回值信息
    如果你想知道方法的返回值类型和描述,可以用:

    # 查看返回值类型
    $createMethod.ReturnType
    # 查看返回值的描述
    ($createMethod.Qualifiers | Where-Object Name -eq 'Description').Value
    

用旧版WMI Cmdlets(兼容旧环境)

如果你的环境只能用旧的WMI命令,也可以这么操作:

# 获取类信息
$systemDriverClass = Get-WmiObject -Class Win32_SystemDriver -List
# 定位到Create方法
$createMethod = $systemDriverClass.Methods['Create']
# 查看输入参数的详细信息
$createMethod.InParameters.Properties | ForEach-Object {
    [PSCustomObject]@{
        参数名称 = $_.Name
        参数类型 = $_.Type
        参数描述 = ($_.Qualifiers | Where-Object { $_.Name -eq 'Description' }).Value
    }
}

小提示

  • 方法的Qualifiers集合里还包含很多其他有用的信息,比如ValueMap(参数的可选值映射)、Static(是否为静态方法)等,你可以根据需求提取。
  • 对于有数组类型的参数(比如LoadOrderGroupDependencies[]),在CimType里会显示为StringArray,一眼就能看出来。

备注:内容来源于stack exchange,提问作者Ichigo Kurosaki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:23:07