WMI Query - 2008 Предупреждения счетчиков Performace - PullRequest
0 голосов
/ 16 ноября 2011

У меня есть набор предупреждений счетчиков производительности на сервере Windows 2008, который я настроил для записи в окне просмотра событий после срабатывания предупреждения.

Он записывает в этом средстве просмотра событий «Журналы приложений и служб /Microsoft / Windows / Diagnosis-PLA / Operational "

Я пытаюсь написать WMI-запрос в файле vbscript к этому средству просмотра событий, чтобы прочитать события там.

Вот мой запрос:

Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("select * from Win32_NtLogEvent where Logfile = 'Microsoft-Windows-Bits-Client%4Operational'")

Проблема в том, что, когда я проверяю colItems.count, он возвращает ноль, но я знаю, что там есть события, я могу видеть их при переходе к просмотру событий.

Тот же запрос работает нормально, если я запрашиваю просмотрщик событий «Приложение»:

Set colItems = objWMIService.ExecQuery("select * from Win32_NtLogEvent where Logfile = 'Application'")

Правильно возвращает счетчик.

Есть идеи, в чем проблема в первом запросе?

1 Ответ

1 голос
/ 17 ноября 2011

WMI не поддерживает трассировку событий для журналов событий Windows.Журнал событий приложения (для которого работает ваш запрос) - это классический журнал событий, в котором не используется технология событий Windows.Win32_NtLogEvent предоставляет события, зарегистрированные в классических журналах событий, однако не предоставляет события из более свежих журналов событий (представленных в Vista).Однако вы можете прочитать эти журналы, используя командлет PowerShell Get-WinEvent .

...