是否有人有列出 WMI 查询语言调用的性能监控类的资源链接?我有一些可以通过 WMI 提取数据的监控软件,但我必须使用 WMI 查询语言 (WQL) 输入查询。以下是示例:
从 Win32_PerfFormattedData_PerfDisk_logicalDisk 中选择 AvgDiskQueueLength,其中 Name="_Total"
所以我了解语法,但我正在尝试找出不同的类别,特别是一些 MS SQL 类别。我尝试使用 Scriptomatic 工具探索 SQL 服务器 WMI 信息,但没有任何与 SQL 服务器相关的信息。
服务器操作系统是Windows 2003,运行MS SQL Server 2000。
答案1
您可以使用 PowerShell 列出命名空间中的类。
get-wmiobject -list
将列出默认(“ \root\cmiv2
”)命名空间中的所有类,该-namespace
参数可用于指定不同的命名空间。
要获取所有性能类别,请使用以下任一方法:
get-wmiobject -list | ?{$_.Name -like 'Win32_PerfRaw*'}
对于原始数据,或者:
get-wmiobject -list | ?{$_.Name -like 'Win32_PerfForm*'}
用于格式化数据。Perfmon
显示格式化的数据(按计数器类型处理),原始数据是性能计数器提供程序发送的,无需任何进一步处理。
答案2
以下是我的方法...
- 开始 -> 运行“wbemtest.exe”
- 连接,将命名空间更改为“root\cimv2”,连接
- 点击枚举类,输入超类名称“Win32_PerfFormattedData”,确定
现在应该会显示该机器上的所有 perfmon WMI 类。从那里您可以编辑这些类并查看每个属性。
答案3
MSDN 有最好的 WMI 类别列表,但追踪它们可能很困难。
SQL2005 课程在这里。但是,据 Microsoft 称,“SQL Server 2000 未预安装 WMI Admin Provider。需要使用 SQL Server 2000 安装 CD 中 x86\other\wmi 文件夹下提供的 WMI Admin Provider Setup 单独安装它。”安装后,它似乎使用与 SQL2005 相同的类。
此链接指向 Server 2003 WMI 参考。它包括 WMI ODBC 适配器功能的 SQL,并应为您提供您感兴趣的任何非 SQL 类。
答案4
可能来自脚本专家网站:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colClasses = objWMIService.SubclassesOf()
For Each objClass in colClasses
For Each objClassQualifier In objClass.Qualifiers_
If LCase(objClassQualifier.Name) = "dynamic" Then
WScript.Echo objClass.Path_.Class & ": " & _
objClassQualifier.Name & "=" & _
objClassQualifier.Value
End If
Next
Next
我使用这个脚本来检查或排除特定计算机上可用的课程故障。