我正在嘗試透過 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 請求/回應。