W systemie Windows Server 2008 (Vista) pojawiła się nowa funkcjonalność, która pozwala powiązać zadanie harmonogramu z dowolnym zdarzeniem w dziennikach systemowych. Dzięki tej funkcji administrator może zaplanować określony skrypt lub wysłać alert e-mail do dowolnego zdarzenia systemu Windows. Zajmiemy się tą możliwością bardziej szczegółowo..
Możliwość uruchamiania zadań w przypadku wystąpienia określonych zdarzeń systemu Windows opiera się na ścisłej integracji Harmonogram zadań i Przeglądarka zdarzeń. Możesz przypisać zadanie harmonogramu do dowolnego zdarzenia Windows bezpośrednio z konsoli dziennika Podglądu zdarzeń. W odpowiedzi na zdarzenie program planujący może uruchomić skrypt lub wysłać powiadomienie e-mail do administratora (lub dowolnego innego użytkownika).
Załóżmy, że naszym zadaniem jest skonfigurowanie powiadamiania administratora bezpieczeństwa o zablokowaniu konta użytkownika w usłudze Active Directory.
Wskazówka. Wybraliśmy to wydarzenie dla jasności. W rzeczywistości zakres zastosowań tej funkcjonalności jest dość szeroki. Mogą to być na przykład powiadomienia o zamknięciu określonej usługi Windows, uruchomieniu określonego programu do wykonania kopii zapasowej Exchange, powiadomienie o zmianie w grupach zabezpieczeń Active Directory lub zmianach w niektórych folderach lub plikach itp..Zdarzenie blokowania konta w AD jest odnotowane na kontrolerze domeny w dzienniku zabezpieczeń. Blokada zdarzenia identyfikatora zdarzenia - 4740. Otwórz konsolę dziennika zdarzeń Windows (Podgląd zdarzeń - eventvwr.msc) i poszukaj wydarzenia, które nas interesuje. Kliknij go prawym przyciskiem myszy i wybierz Dołącz Zadanie To To Wydarzenie (Dołącz zadanie do tego wydarzenia).
Uruchomi się kreator tworzenia harmonogramu zadań. Kreator wyświetli monit o podanie nazwy zadania. Jest generowany automatycznie. - Security_Microsoft-Windows-Security-Auditing_4740 i jesteśmy zadowoleni.
Następny krok pokazuje typ dziennika zdarzeń, źródło i identyfikator zdarzenia (wszystkie pola są wypełniane automatycznie i nie są dostępne do edycji na tym etapie).
Ponadto proponuje się wybór rodzaju reakcji na zdarzenie. Możliwe są następujące opcje:
- Uruchom program - uruchom program (skrypt)
- Wyślij wiadomość e-mail - wyślij powiadomienie pocztą
- Wyświetl wiadomość - wyświetl wiadomość w konsoli
Jesteśmy zainteresowani powiadomieniami e-mail. Podajemy nadawcę, odbiorcę, adres serwera SMTP, temat i treść wiadomości.
W ostatnim kroku kreatora można wyświetlić ustawienia wyzwalacza. W rezultacie w harmonogramie zadań pojawi się nowe zadanie powiązane z naszym wydarzeniem. Otwórzmy konsolę Harmonogram zadań (w Narzędziach administracyjnych). Utworzone zadanie można znaleźć w sekcji Biblioteka harmonogramu zadań -> Zadania podglądu zdarzeń.
Tutaj możesz zmienić ustawienia wyzwalacza zdarzenia i zmusić go do uruchomienia, testując reakcję na zdarzenie.
Wskazówka. Jeśli musisz dołączyć jeden wyzwalacz do zestawu identyfikatorów zdarzeń, musisz określić je oddzielone przecinkami.Spust jest aktywny. Teraz, gdy blokujesz dowolne konto AD - wiadomość e-mail z powiadomieniem zostanie wysłana na podany adres e-mail.
Uwaga. Podobna funkcjonalność w systemie Windows Server 2003 i wcześniejszych wersjach systemu Windows została zaimplementowana za pomocą narzędzia konsoli - eventtriggers.exe. To narzędzie pozwoliło także na śledzenie zdarzeń w dziennikach systemowych i wyzwalanie niektórych zdarzeń. W naszym przykładzie, gdy musisz powiązać wykonanie skryptu VBS lub PowerShell ze zdarzeniem 4740, które wysyła wiadomość e-mail do skrzynki pocztowej administratora, polecenie może wyglądać tak:
eventtriggers / create / TR „Lock Account” / TK „C: \ WINDOWS \ system32 \ Windowspowershell \ v1.0 \ powershell.exe c: \ script \ SendEmail.ps1" / L Security / EID 4740
Takie powiadomienie nie jest bardzo pouczające, a aby wyświetlić szczegółowe informacje o zdarzeniu, należy otworzyć dziennik Podglądu zdarzeń. Spróbujmy dołączyć dane z dziennika zdarzeń do listu. Pomoże nam w tym narzędzie Wevtutil, które pozwala zwolnić informacje o każdym zdarzeniu z dzienników systemu Windows. Tak więc, aby uzyskać dane o ostatnim zdarzeniu z kodem 4740 z dziennika bezpieczeństwa, musisz:
wevtutil qe Security / q: "* [System [(EventID = 4740)]]" / f: text / rd: true / c: 1
Utwórzmy skrypt (query.cmd) z dwóch wierszy: pierwszy usuwa stary plik dziennika, drugi zwalnia ostatnie zdarzenie z dziennika i zapisuje go w pliku dziennika:
del c: \ script \ query.txt
wevtutil qe Security / q: "* [System [(EventID = 4740)]]" / f: text / rd: true / c: 1> c: \ script \ query.txt
Pozostaje jeszcze raz otworzyć ustawienia wcześniej utworzonego wyzwalacza w dzienniku harmonogramu zadań. Na karcie Działania dodaj nową akcję - uruchomienie skryptu query.cmd. Następnie musisz zmienić kolejność akcji, przesuń ją w górę listy za pomocą strzałek po prawej stronie (skrypt powinien zostać wykonany najpierw).
Następnie edytujemy drugą akcję - wysłanie wiadomości e-mail, wybranie pliku c: \ script \ query.txt jako załącznika do listu .
Uwaga. W naszym przykładzie, aby zadanie działało poprawnie, musisz uruchomić je z podwyższonymi uprawnieniami. Aby to zrobić, w jego ustawieniach musisz zainstalować daw Uruchom z najwyższy przywileje.Przetestuj zadanie ponownie. Teraz poczta administratora otrzyma powiadomienie z załącznikiem, które zawiera informacje o nazwie zablokowanego konta, czasie zablokowania i inne przydatne informacje.
Wskazówka. Korzystanie z funkcji wyzwalaczy zdarzeń okna w celu powiadomienia administratora o krytycznych problemach z serwerem nie jest kompletnym zamiennikiem systemu monitorowania, takiego jak System Center Operations Manager i Zenoss. Jednak jako proste, wbudowane narzędzie do monitorowania i powiadamiania dla małych firm, które nie wymagają inwestycji we wdrażanie i szkolenie personelu, w połączeniu z możliwością konsolidacji dzienników z kilku serwerów jednocześnie (przekazane zdarzenia), jest dość użyteczne.Wiązanie zadań harmonogramu ze zdarzeniami w dziennikach systemowych działa we wszystkich wersjach systemu Windows, począwszy od systemu Windows Server 2008 / Vista. Ta funkcja umożliwia szybkie powiadomienie administratora o wystąpieniu określonych problemów z serwerów i zareagowanie na nie.