我正在尝试通过 WMI 从 Windows Server 2012 查询 DNS 统计信息。
如果我在 Powershell 中运行以下命令:
Get-WmiObject -Namespace root\MicrosoftDNS -Class MicrosoftDNS_Statistic | ?{ $_.Name.Contains("UDP messages allocated") } | ft Name,Value
我得到以下信息:
Name Value
---- -----
UDP messages allocated 20550
UDP messages allocated 2596235
两个统计数据名称相同?值却完全不同?什么?因此我开始调查底层类我看到班级实际上有:
uint32 UdpAlloc;
uint32 TcpAlloc;
这似乎很明显,上面的两个值很可能就是这两个。但是 - 哪一个是哪一个?
较大的数字是 UDP,较小的数字是 TCP,这似乎是显而易见的假设。但由于存在多个重复的统计数据(不仅仅是这个),情况变得更加复杂,其中一些统计数据的值较低,可能是 TCP 或 UDP。
有没有其他人见过这个问题并解决过它?
答案1
这个问题的答案并不好,但是我看到的行为在所有具有此计数器的 Windows Server 版本(包括 2016)之间都是一致的。
最后我只是合并了重复的计数器(我发现了一个很多我在这个项目的过程中将更多请求/响应合并到一个计数器中,并决定不用担心它们是 TCP 还是 UDP 请求/响应。