Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Забегая вперед, замечу, что нас будет особо интересовать именно поле Description, то есть тот текст, который сохраняется в журнале в качестве описания.
При восстановлении питания агент создаст в журнале событий следующее сообщение (см. рис. 3).
Рисунок 3. Сообщение о восстановлении основного питания
Итак, мы определили, как выглядят сообщения, отправляемые агентом источника бесперебойного питания. В журнале событий нам необходимо искать сообщения с полем Description вида: «UPS On Battery» или «Utility Power Restored», которые будут сигнализировать о потере питания и его восстановлении соответственно.
Реализация поиска данных сообщений в журнале событий может выглядеть, например, вот так:
Листинг 1. Поиск сообщений в журнале событий
Option Explicit
Dim objWMI, objItem ' Objects // Объявляем переменные
Dim strComputer
Dim intRecordNum, intRec, colLoggedEvents
Dim strAdmin, strAdmin2, i, intrecordNum2, iteration
' WMI Core Section
// Сервер, на котором выполняется сценарий
strComputer="127.0.0.1"
Set objWMI = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" _
& strComputer & " ootcimv2")
iteration=2 // счетчик итераций
// искомые строки – отключение питания
strAdmin = "UPS On Battery"
// искомые строки – восстановление питания
strAdmin2 = "Utility Power Restored"
Do While 1=1 // цикл бесконечный
// запрос по журналу событий. Раздел Applications
Set colLoggedEvents = objWMI.ExecQuery ("Select * from Win32_NTLogEvent Where Logfile = 'Application'" )