Windows Server 2008(Vista)에서는 시스템 로그의 모든 이벤트에 대해 Windows 스케줄러 작업을 첨부할 수 있는 새로운 기능이 나타났습니다. 이 기능을 사용하여 관리자는 특정 스크립트를 할당하거나 모든 Windows 이벤트에 전자 메일 경고를 보낼 수 있습니다. 이 기능을 자세히 살펴보겠습니다.
특정 Windows 이벤트가 발생할 때 작업을 실행하는 것은 작업 스케줄러의 긴밀한 통합을 기반으로 합니다. 및 이벤트 뷰어 . 이벤트 뷰어 콘솔에서 직접 Windows 이벤트에 스케줄러 작업을 할당할 수 있습니다. 이벤트에 대한 응답으로 작업 스케줄러는 스크립트를 실행하거나 관리자(또는 다른 사용자)에게 이메일 알림을 보낼 수 있습니다.
Active Directory 사용자 계정의 잠금에 대해 보안 관리자에게 알리는 것이 우리의 임무라고 가정합니다.
팁 . 설명을 위해 이 이벤트를 선택했습니다. 사실 이 기능의 적용 범위는 상당히 넓습니다. Windows 서비스 중지 알림, Exchange 백업 종료 후 앱 실행, Active Directory 보안 그룹 변경 알림, 특정 디렉터리나 파일 변경 알림 등이 될 수 있습니다.AD 사용자 계정 잠금 이벤트는 도메인 컨트롤러의 보안 로그에 등록됩니다. 잠금의 이벤트 ID는 4740입니다. . Windows 이벤트 뷰어(이벤트 뷰어 — eventvwr.msc)를 엽니다. ) 이 이벤트를 찾습니다. 마우스 오른쪽 버튼으로 클릭하고 이 이벤트에 작업 첨부를 선택하십시오. .
기본 작업 만들기 마법사가 시작됩니다. 마법사는 작업 이름을 지정하라는 메시지를 표시합니다. 자동 생성 — Security_Microsoft-Windows-Security-Auditing_4740 우리에게는 괜찮습니다.
다음 단계에서는 이벤트 로그의 유형, 소스 및 이벤트 ID가 지정됩니다. (모든 필드는 자동으로 채워지며 이 단계에서는 수정할 수 없습니다.)
그런 다음 이벤트에 대한 응답 유형을 선택하라는 메시지가 표시됩니다. 다음 응답을 사용할 수 있습니다.
- 프로그램 시작
- 이메일 보내기
- 메시지 표시
이메일 알림을 선택합니다. 이메일의 발신자, 수신자, SMTP 서버 주소, 제목 및 텍스트를 지정합니다.
마법사의 마지막 단계에서 트리거 설정을 볼 수 있습니다. 결과적으로 이벤트 4740에 연결된 새 작업이 작업 스케줄러에 나타납니다. 작업 스케줄러 열기 관리 도구의 콘솔. 새 작업은 작업 스케줄러 라이브러리 -> 이벤트 뷰어 작업에서 찾을 수 있습니다. .
여기에서 이벤트 트리거 설정을 변경하고 이벤트에 대한 응답을 테스트하도록 강제할 수도 있습니다.
팁 . 첨부해야 하는 경우 여러 EventID에 대한 하나의 트리거를 쉼표로 구분하여 지정해야 합니다.트리거가 활성화됩니다. AD 계정이 잠기면 지정된 이메일 주소로 알림 문자가 전송됩니다.
참고 . Windows Server 2003 및 이전 Windows 버전의 동일한 기능은 콘솔 유틸리티 eventtriggers.exe에 의해 구현되었습니다. . 이 유틸리티를 사용하면 시스템 로그의 이벤트를 모니터링하고 특정 이벤트에 트리거를 할당할 수도 있습니다. 이 예에서 관리자 사서함으로 전자 메일을 보내기 위해 vbs 또는 powershell 스크립트를 4740 이벤트에 할당해야 하는 경우 명령은 다음과 같습니다.
eventtriggers /create /TR “Lock Account” /TK “C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe c:\script\SendEmailAlert.ps1″ /L Security /EID 4740
이 알림은 그다지 유익한 정보가 아니며 이벤트 세부 정보를 보려면 이벤트 뷰어를 열어야 합니다. 이벤트 로그의 데이터를 이메일에 첨부해 보겠습니다. 유틸리티 wevtutil Windows 로그에서 이벤트에 대한 정보를 얻는 데 사용할 수 있습니다. 따라서 보안 로그에서 마지막 4740 이벤트에 대한 정보를 얻으려면 다음을 실행해야 합니다.
wevtutil qe Security /q:"*[System[(EventID=4740)]]" /f:text /rd:true /c:1
두 줄로 구성된 스크립트(query.cmd)를 만듭니다. 첫 번째 줄은 마지막 로그 파일을 삭제하고 두 번째 줄은 로그에서 마지막 이벤트를 가져와서 로그 파일에 저장합니다.
del c:\script\query.txt
wevtutil qe Security /q:"*[System[(EventID=4740)]]" /f:text /rd:true /c:1 > c:\script\query.txt
이제 작업 스케줄러에서 이전에 만든 트리거 설정만 열면 됩니다. 작업 탭에서 새 작업을 추가하십시오. 스크립트 query.cmd를 시작하십시오. 그런 다음 작업의 순서를 변경하고 오른쪽에 있는 화살표 버튼을 사용하여 목록의 맨 위로 이동해야 합니다. (스크립트가 먼저 실행되어야 함).
그런 다음 c:\script\query.txt를 선택하여 두 번째 작업인 이메일 보내기를 편집합니다. 편지의 첨부 파일로.
참고 . 이 예에서 작업이 제대로 작동하도록 하려면 관리자 권한으로 실행해야 합니다. 그렇게 하려면 가장 높은 권한으로 실행 설정을 확인하십시오.
작업을 다시 테스트해 보겠습니다. 이제 관리자는 계정 이름, 잠금 시간 및 기타 유용한 정보에 대한 데이터가 포함된 첨부 파일이 포함된 알림을 이메일로 받게 됩니다.
팁 . Windows 이벤트 트리거를 사용하여 서버의 중요한 문제에 대해 관리자에게 경고하는 것은 System Center Operations Manager 또는 Zenoss와 같은 모니터링 시스템의 완전한 기능을 대체하는 것이 아닙니다. 그러나 직원을 구현하거나 교육하는 데 투자할 필요가 없는 소규모 비즈니스를 위한 간단한 내장 모니터링 및 알림 도구입니다.
시스템 로그의 이벤트에 대한 스케줄러 작업 바인딩은 Windows Server 2008/Vista의 모든 Windows 버전에서 작동합니다. 이 기능을 사용하면 특정 서버 문제를 관리자에게 빠르게 알리고 해결할 수 있습니다.
참고 . Windows Server 2012 R2에서 작업 스케줄러는 이메일 전송을 지원하지 않습니다(지원 중단됨).이를 위해서는 PowerShell 3.0 – Send-MailMessage를 사용하는 것이 좋습니다. .