Я пытаюсь запросить статистику DNS из Windows Server 2012 через WMI.
Если я запустил следующую команду в 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.