Trong Windows Server 2008 (Vista), một tính năng mới đã xuất hiện cho phép đính kèm tác vụ Bộ lập lịch Windows cho bất kỳ sự kiện nào trong nhật ký hệ thống. Sử dụng tính năng này, quản trị viên có thể chỉ định một tập lệnh cụ thể hoặc gửi cảnh báo qua e-mail cho bất kỳ sự kiện nào của Windows. Hãy xem xét đặc điểm này một cách chi tiết.
Việc chạy các tác vụ khi một số sự kiện Windows nhất định xảy ra dựa trên sự tích hợp chặt chẽ của Bộ lập lịch tác vụ và Trình xem sự kiện . Bạn có thể chỉ định bất kỳ tác vụ nào của Trình lập lịch cho bất kỳ sự kiện Windows nào trực tiếp trong bảng điều khiển Trình xem sự kiện. Khi phản hồi một sự kiện, Bộ lập lịch tác vụ có thể chạy một tập lệnh hoặc gửi thông báo qua e-mail cho quản trị viên (hoặc bất kỳ người dùng nào khác).
Giả sử, nhiệm vụ của chúng ta là thông báo cho quản trị viên bảo mật về việc khóa tài khoản người dùng Active Directory.
Mẹo . Chúng tôi đã chọn sự kiện này cho mục đích minh họa. Trên thực tế, phạm vi áp dụng tính năng này khá rộng. Đó có thể là các thông báo về việc ngừng dịch vụ Windows, chạy ứng dụng sau khi sao lưu Exchange kết thúc, thông báo về các thay đổi trong nhóm bảo mật Active Directory hoặc các thay đổi trong các thư mục hoặc tệp nhất định, v.v.Sự kiện khóa tài khoản người dùng AD được đăng ký trong Nhật ký bảo mật trên bộ điều khiển miền. ID sự kiện của khóa là 4740 . Mở Windows Event Viewer ( Event Viewer - eventvwr.msc ) và tìm kiếm sự kiện này. Nhấp chuột phải vào nó và chọn Đính kèm công việc vào sự kiện này .
Tạo thuật sĩ tác vụ cơ bản được khởi chạy. Trình hướng dẫn nhắc chỉ định tên tác vụ. Nó được tạo tự động - Security_Microsoft-Windows-Security-Auditing_4740 và nó là tốt cho chúng tôi.
Trong bước tiếp theo, một loại nhật ký sự kiện, nguồn và ID sự kiện được chỉ định. (Tất cả các trường được điền tự động và không thể chỉnh sửa trong bước này.)
Sau đó, bạn được nhắc chọn loại phản hồi cho sự kiện. Có các câu trả lời sau:
- Bắt đầu một chương trình
- Gửi e-mail
- Hiển thị thông báo
Chúng tôi chọn một thông báo qua e-mail. Chỉ định người gửi, người nhận, địa chỉ máy chủ SMTP, chủ đề và nội dung email.
Trong bước cuối cùng của trình hướng dẫn, bạn có thể xem cài đặt trình kích hoạt. Do đó, một nhiệm vụ mới được kết nối với sự kiện 4740 xuất hiện trong Bộ lập lịch tác vụ. Mở Trình lập lịch tác vụ bảng điều khiển trong Công cụ quản trị. Bạn có thể tìm thấy nhiệm vụ mới trong Thư viện lập lịch tác vụ -> Nhiệm vụ cho người xem sự kiện .
Tại đây, bạn cũng có thể thay đổi cài đặt trình kích hoạt sự kiện và buộc nó kiểm tra phản ứng với sự kiện.
Mẹo . Nếu bạn phải đính kèm một kích hoạt cho một số EventID, bạn cần chỉ định chúng được phân tách bằng dấu phẩy.Trình kích hoạt sẽ hoạt động. Khi bất kỳ tài khoản AD nào bị khóa, một thư thông báo sẽ được gửi đến địa chỉ e-mail được chỉ định.
Lưu ý . Tính năng tương tự trong Windows Server 2003 và các phiên bản Windows trước đó đã được thực hiện bởi tiện ích bảng điều khiển eventtriggers.exe . Tiện ích này cũng cho phép theo dõi các sự kiện trong nhật ký hệ thống và chỉ định kích hoạt cho các sự kiện nhất định. Trong ví dụ của chúng tôi, khi bạn phải gán tập lệnh vbs hoặc powershell cho sự kiện 4740 để gửi e-mail đến hộp thư quản trị viên, lệnh có thể giống như sau:
eventtriggers /create /TR “Lock Account” /TK “C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe c:\script\SendEmailAlert.ps1″ /L Security /EID 4740
Thông báo này không có nhiều thông tin và để xem chi tiết sự kiện, bạn phải mở Trình xem sự kiện. Hãy thử đính kèm dữ liệu từ nhật ký sự kiện vào e-mail. Một tiện ích wevtutil có thể được sử dụng để lấy thông tin về bất kỳ sự kiện nào từ nhật ký Windows. Vì vậy, để nhận thông tin về sự kiện 4740 gần đây nhất từ Nhật ký bảo mật, bạn phải chạy như sau:
wevtutil qe Security /q:"*[System[(EventID=4740)]]" /f:text /rd:true /c:1
Tạo một tập lệnh (query.cmd) bao gồm hai dòng:dòng đầu tiên xóa tệp nhật ký cuối cùng và dòng thứ hai lấy sự kiện cuối cùng từ nhật ký và lưu vào tệp nhật ký:
del c:\script\query.txt
wevtutil qe Security /q:"*[System[(EventID=4740)]]" /f:text /rd:true /c:1 > c:\script\query.txt
Bây giờ bạn chỉ phải mở cài đặt của trình kích hoạt đã tạo trước đó trong Trình lập lịch tác vụ. Trong tab Hành động, thêm một hành động mới - start script query.cmd. Sau đó, bạn cần thay đổi thứ tự của các hành động, di chuyển nó lên đầu danh sách bằng cách sử dụng các nút mũi tên ở bên phải. (tập lệnh phải được thực thi trước).
Sau đó, chỉnh sửa hành động thứ hai - gửi e-mail - bằng cách chọn c:\ script \ query.txt như một phần đính kèm vào bức thư.
Lưu ý . Trong ví dụ của chúng tôi, để làm cho nhiệm vụ hoạt động bình thường, bạn phải chạy nó lên cao. Để làm điều đó, hãy kiểm tra trong cài đặt Chạy với đặc quyền cao nhất.
Hãy kiểm tra lại nhiệm vụ. Bây giờ, quản trị viên sẽ nhận được một thông báo có tệp đính kèm qua e-mail, trong đó có dữ liệu về tên tài khoản, thời gian khóa và các thông tin hữu ích khác.
Mẹo . Việc sử dụng trình kích hoạt sự kiện của Windows để cảnh báo cho quản trị viên về các vấn đề nghiêm trọng trên máy chủ không phải là một sự thay thế đầy đủ tính năng cho một hệ thống giám sát, như Trình quản lý Hoạt động Trung tâm Hệ thống hoặc Zenoss. Tuy nhiên, nó là một công cụ giám sát và thông báo đơn giản được tích hợp sẵn cho các doanh nghiệp nhỏ mà không cần đầu tư vào việc triển khai hoặc đào tạo nhân viên.
Liên kết các tác vụ của Bộ lập lịch với các sự kiện trong nhật ký hệ thống hoạt động trong tất cả các phiên bản Windows từ Windows Server 2008 / Vista. Tính năng này cho phép nhanh chóng cảnh báo cho quản trị viên về các sự cố máy chủ nhất định và giải quyết chúng.
Lưu ý . Trong Windows Server 2012 R2 Task Scheduler không hỗ trợ gửi email (không dùng nữa).Vì mục đích này, tốt hơn hãy sử dụng PowerShell 3.0 - Send-MailMessage .