我正在尝试通过 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,这使情况变得更加复杂。
有没有其他人以前见过这个并解决它?
这不是一个很好的答案,但我看到的行为在具有此计数器的所有版本的 Windows Server 之间是一致的,包括 2016。
最后,我只是将重复的计数器(我在这个项目的过程中发现了更多)合并到一个计数器中,并决定不担心它们是 TCP 还是 UDP 请求/响应。