Централизованное управление административными сценариями

Командные сценарии Windows 2000 и Windows NT - мощные инструментальные средства автоматизации повторяющихся административных заданий. Для планирования и автоматического выполнения сценариев можно использовать планировщик заданий AT или Task Scheduler в Windows 2000.

Однако выполнение сценариев ограничено типами заданий. Например, сценарии не имеют встроенной поддержки для доступа к реестру или журналу событий (event log). Некоторые сценарии заносят информацию о выполнении в самостоятельные текстовые файлы, управление которыми осуществляется отдельно от журнала событий.

Это ограничение можно обойти с помощью утилиты Logevent: она дает сценариям указание записывать статус выполнения и информацию об ошибках в журнал приложений. Журнал приложений является хранилищем информации о статусе всех приложений. Имеет смысл предусмотреть в сценариях запись информации об их состоянии в журнал приложений. Тогда все сведения о состоянии сценариев и программ будут храниться в одном месте.

Утилита Logevent содержится и в Microsoft Windows NT Server 4.0 Resource Kit, и в Microsoft Windows 2000 Server Resource Kit. Она вызывается из командного файла. Для установки данной утилиты не требуется делать что-нибудь специально, она не нуждается в записях в реестр или DLL. Достаточно убедиться, что командный сценарий может найти файл logevent.exe.

Синтаксис утилиты Logevent прост:

logevent [-m ]
 [-s ] [-c ]
[-r ""] 
[-e ] [-t ]
 ""

С помощью переключателя -m назначается компьютер, который будет регистрировать события. Если этот ключ опустить, то утилита Logevent использует локальную систему. Переключатель -s определяет степень важности регистрируемых событий: можно выбрать S (успешные), I (информация, значение по умолчанию), W (предупреждение), E (ошибка) или F (неудача). Переключатель -c применяется для определения номера категории, который используется в фильтре событий NT Event Viewer. Если эту величину не указать, утилита Logevent назначает категорию 0. Переключатель -r позволяет добавить строку (т. е. имя приложения или сценария), указывающую источник зарегистрированного события. Если его опустить, утилита Logevent использует User Event. Параметр -e позволяет установить идентификатор ID события, применяющийся для фильтрации данных в журнале событий. Переключатель -t устанавливает время ожидания для записи события. По умолчанию, утилита Logevent ожидает 60 000 с, после чего завершает работу. Последний параметр является обязательным: утилита Logevent фиксирует его в виде описания зарегистрированного события. Если при вызове утилиты набрать только logevent, то Logevent выдаст подсказку об использовании.

Утилита Logevent применяется следующим образом. Для создания командного сценария регистрации успешных или неудачных событий в журнале приложений необходимо создать сценарий такого типа:

@ECHO OFF
:: The first parameter must be GO
@IF NOT "%1"=="GO" GOTO :LOGERROR
:: Write the success event
logevent -s S -r "Script Event"
"Script completed."
GOTO :EOF
:LOGERROR
:: Log the error
logevent -s E -c 3 -r "Script
 Event" -e 99 "Script Failed!
 Invalid parameter"
::EOF

В данном случае сценарий сверяет первый параметр со словом GO. Если обнаруживается соответствие, утилита Logevent заносит запись об успешном выполнении в журнал приложений, в качестве источника записывает Script Event и в качестве описания - Script completed. В противном случае сценарий выполняет строки, которые следуют после метки LOGERRO: запишет ошибку выполнения, источник Script Event, ID события 99 и как описание - Script Failed! Invalid parameter.

Хотя специалисты Microsoft отдают предпочтение технологиям Windows Script Host (WSH) и VBScript, ничто не работает так быстро и надежно, как командный файл. Утилиту Logevent.exe, безусловно, стоит иметь в своем арсенале администратора. Дополнительную информацию об использовании Logevent можно найти в статье Microsoft «How to Use Logevent.exe to Log Events from a Batch File» по адресу: (http://support.microsoft.com/support/ kb/articles/q131/0/08.asp), или в главе 14 «Windows 2000 Resource Kit».

Майкл Оти - научный редактор американского журнала Windows NT Magazine, президент компании TECA, специализирующейся на разработке программного обеспечения и оказании консультационных услуг. С ним можно связаться по электронной почте по адресу: mikeo@teca.com.