Eventtriggers 명령줄 도구를 사용하여 이벤트 로그를 생성하고 쿼리하거나 프로그램을 특정 기록된 이벤트와 연결할 수도 있습니다. Eventtriggers.exe 를 사용하면 특정 이벤트 발생 시 프로그램이 실행되는 이벤트 트리거를 만들 수 있습니다.
- Windows XP Professional 및 Windows Server 2003 에서만 지원 -
이를테면,. 디스크 공간 부족 이벤트 로그가 발생할 경우 해당 이벤트 ID 에 대해서 트리거를 걸어 놓고, 특정 작업을 실행할수 있습니다... 메일을 보낸다건가,. SMS 를 전송한더건가...
등록된 트리거 목록은,.
이러한 트리거는, 실행할 작업에 대해서 예약 작업에 등록이 되어 있습니다. 이러한 작업이 가능한 이유는 WMI 의 이벤트 클래스는 이용하기 때문입니다. 물론 예약 작업의 Job 목록도 WMI 를 통해서 등록이 됩니다.
다음 코드는 닷넷 에서의 WMI 를 이용한 EventWatcher 코드 입니다.
Vbscript 에서는,
물론, Vista 이상으로 오면서 부터는 예약 작업에 트리거 기능이 추가되어 있는데, 이 트리거 기능은 이벤트 로그 도구와 연동 되어 있어서 쉽게 트리거 설정이 가능합니다.
- Windows XP Professional 및 Windows Server 2003 에서만 지원 -
C:\>eventtriggers.exe /?
EVENTTRIGGERS /parameter [인수]
설명:
이 도구는 관리자가 로컬 또는 원격 컴퓨터에서
"이벤트 트리거"를 구성할 수 있도록 합니다.
매개 변수 목록:
/Create 새 이벤트 트리거를 만듭니다.
/Delete 트리거 ID로 이벤트 트리거를 삭제합니다.
/Query 이벤트 트리거의 속성 및 설정을 표시합니다.
/? 이 도움말/사용법을 표시합니다.
예:
EVENTTRIGGERS /Create /?
EVENTTRIGGERS /Delete /?
EVENTTRIGGERS /Query /?
EVENTTRIGGERS /Create [/S system [/U username [/P [password]]]]
/TR triggername /TK taskname [/D description]
[/L log] { [/EID id] [/T type] [/SO source] }
[/RU username [/RP [password]]]
EVENTTRIGGERS /parameter [인수]
설명:
이 도구는 관리자가 로컬 또는 원격 컴퓨터에서
"이벤트 트리거"를 구성할 수 있도록 합니다.
매개 변수 목록:
/Create 새 이벤트 트리거를 만듭니다.
/Delete 트리거 ID로 이벤트 트리거를 삭제합니다.
/Query 이벤트 트리거의 속성 및 설정을 표시합니다.
/? 이 도움말/사용법을 표시합니다.
예:
EVENTTRIGGERS /Create /?
EVENTTRIGGERS /Delete /?
EVENTTRIGGERS /Query /?
EVENTTRIGGERS /Create [/S system [/U username [/P [password]]]]
/TR triggername /TK taskname [/D description]
[/L log] { [/EID id] [/T type] [/SO source] }
[/RU username [/RP [password]]]
이를테면,. 디스크 공간 부족 이벤트 로그가 발생할 경우 해당 이벤트 ID 에 대해서 트리거를 걸어 놓고, 특정 작업을 실행할수 있습니다... 메일을 보낸다건가,. SMS 를 전송한더건가...
EVENTTRIGGERS /Create /S system /U Administrator /TR "Low Disk Space" /EID 99 /SO "WinWord" /T ERROR /TK dsk.cmd
Administrator에 대한 실행할 계정 암호를 입력하십시오:********
성공: 이벤트 트리거 "Disk Cleanup"을(를) 만들었습니다.
Administrator에 대한 실행할 계정 암호를 입력하십시오:********
성공: 이벤트 트리거 "Disk Cleanup"을(를) 만들었습니다.
등록된 트리거 목록은,.
C:\>eventtriggers.exe /query
트리거 ID 이벤트 트리거 이름 작업
========== ========================= ===================================
1 Disk Cleanup c:\windows\system32\cleanmgr.exe
트리거 ID 이벤트 트리거 이름 작업
========== ========================= ===================================
1 Disk Cleanup c:\windows\system32\cleanmgr.exe
이러한 트리거는, 실행할 작업에 대해서 예약 작업에 등록이 되어 있습니다. 이러한 작업이 가능한 이유는 WMI 의 이벤트 클래스는 이용하기 때문입니다. 물론 예약 작업의 Job 목록도 WMI 를 통해서 등록이 됩니다.
다음 코드는 닷넷 에서의 WMI 를 이용한 EventWatcher 코드 입니다.
ManagementEventWatcher watcher = new ManagementEventWatcher(
new EventQuery("SELECT * FROM __InstanceCreationEvent
WHERE TargetInstance ISA 'Win32_NTLogEvent'"));
watcher.EventArrived += new EventArrivedEventHandler(Arrived);
new EventQuery("SELECT * FROM __InstanceCreationEvent
WHERE TargetInstance ISA 'Win32_NTLogEvent'"));
watcher.EventArrived += new EventArrivedEventHandler(Arrived);
Vbscript 에서는,
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" _
& strComputer & "\root\CIMV2")
Set objEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM Win32_NTLogEvent")
Set objWMIService = GetObject("winmgmts:\\" _
& strComputer & "\root\CIMV2")
Set objEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM Win32_NTLogEvent")
물론, Vista 이상으로 오면서 부터는 예약 작업에 트리거 기능이 추가되어 있는데, 이 트리거 기능은 이벤트 로그 도구와 연동 되어 있어서 쉽게 트리거 설정이 가능합니다.
728x90
댓글