Jedną z nowych funkcji Server 2008 jest możliwość dołączenia zadania do określonego zdarzenia w dziennikach zdarzeń. Jednym z dostępnych działań jest wysłanie wiadomości e-mail za pośrednictwem serwera SMTP.
Działa to świetnie, jednak byłoby idealnie, gdyby w treści wiadomości można było umieścić zawartość zdarzenia. Próbowałem użyć $ eventdescription i% eventdescription%, ale to tylko strzały w ciemności. Żadna ilość googlingu nie daje żadnych rezultatów.
Czy ktoś wie, czy to jest możliwe?
Aktualizacja : sugestia Sparks poniżej jest krokiem we właściwym kierunku, moim zdaniem, jednak ta metoda nie działa dla wszystkich wartości. Na przykład mogę pobrać RecordID, Severity i Channel, jak pokazano, ale nie mogę użyć tej samej metody do odzyskania EventID lub, co najważniejsze, opisu.
Oto nieprzetworzony kod XML z jednego zdarzenia:
[Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"]
[System]
[Provider Name="DFSR" /]
[EventID Qualifiers="16384"]4412[/EventID]
[Level]4[/Level]
[Task]0[/Task]
[Keywords]0x80000000000000[/Keywords]
[TimeCreated SystemTime="2009-05-14T18:18:09.000Z" /]
[EventRecordID]45692[/EventRecordID]
[Channel]DFS Replication[/Channel]
[Computer]servername.domain.com[/Computer]
[Security /]
[/System]
[EventData]
[Data]9046C3F4-843E-4A53-B941-4B20764072E5[/Data]
[Data]D:\departments\Geomatics\Plan Quality\Data Processing\CG3533017 2009-05-13 KT FIXED[/Data]
[Data]D:\departments[/Data]
[Data]{26D5F604-E603-4F87-8EC3-DE9A945DA8FD}-v927199[/Data]
[Data]Departments[/Data]
[Data]domain.ca\files\departments[/Data]
[Data]B8242CE2-F5EB-47DA-BA5B-1DD2F7EE3AB9[/Data]
[Data]DFAA7A54-66CB-4C31-81A0-0F861382C32C[/Data]
[Data]CG3533017 2009-05-13-{26D5F604-E603-4F87-8EC3-DE9A945DA8FD}-v927199[/Data]
[/EventData]
[/Event]
Próbowałem użyć ValueQuery dla EventData, ale nie zwraca danych.
źródło
Odpowiedzi:
Podchodziłem do tego nieco inaczej, ale to podejście generuje wiadomości e-mail o nowych zdarzeniach, które pasują do niestandardowego filtra, a wszystkie szczegóły zdarzeń są zawarte w treści wiadomości e-mail.
1) Utwórz „Widok niestandardowy” w Podglądzie zdarzeń z wybranym filtrem.
2) Po wyświetleniu widoku powinien zostać wyświetlony link „Dołącz zadanie do tego widoku niestandardowego ...”.
Wybrałem tutaj sendMail.exe ( http://caspian.dotconf.net/menu/Software/SendEmail/ ), który rozpakowałem do C: \ sendmail. Powodem jest to, że akcja Microsoft „Wyślij wiadomość e-mail” ma problemy z uwierzytelnianiem SMTP i najwyraźniej nie występuje nawet w Server 2012.
Tak więc w moim przypadku wybrałem opcję „Uruchom program”, dołączając zadanie do widoku niestandardowego. Ale zamierzamy edytować go jako XML, więc nie martw się o wypełnienie go za pomocą GUI.
3) Wyeksportuj nowe zadanie do formatu XML, będziemy je później edytować.
4) Utwórz plik „mail-event.bat” w folderze C: \ sendmail z następującymi 3 wierszami:
Oczywiście zamień „smtp_server”, „from”, „user”, „pass”, „to”, „subject” na pożądane wartości.
Spowoduje to utworzenie pliku „$ (EventRecordID) .log” w folderze C: \ sendmail ze wszystkimi szczegółami tego zdarzenia, prześlij go pocztą, a następnie usuń.
Możesz sprawdzić, czy plik wsadowy działa, wchodząc do Podglądu zdarzeń, otwierając zdarzenie w dzienniku aplikacji, przechodząc do karty Szczegóły, wybierając „Widok XML”, a następnie szukając EventRecordID. Skopiuj tę liczbę całkowitą, a następnie uruchom z wiersza poleceń:
C: \ sendmail> log-event.bat 53522
Oczywiście zastąpienie 53522 wartością z węzła EventRecordID. Jeśli otrzymasz wiadomość e-mail, przejdź do szczęśliwego miejsca.
UWAGA: Być może zauważyłeś, że ciąg „Aplikacja” pojawia się kilka razy w wierszu polecenia dla wevtutil.exe - to dlatego, że nie mogłem uruchomić go, kierując go bezpośrednio w Widok niestandardowy, a mój Widok niestandardowy okazał się podzestawem zdarzeń, które wszystkie znajdują się w dzienniku aplikacji. Być może będziesz musiał to zmienić, aby na przykład zadziałało, jeśli próbujesz wysłać zdarzenia z dziennika systemu.
5) Edytuj wyeksportowany plik XML, wprowadzimy dwie zmiany:
Najpierw dodaj następujący węzeł „ValueQueries” do pliku XML w węźle „EventTrigger”:
UWAGA: Powyżej wyciąłem informacje o „subskrypcji”, które zostaną wypełnione na podstawie utworzonego przez Ciebie widoku niestandardowego. Nie kopiuj mojej „Subskrypcji” do swojego XML!
Po drugie, zastąp węzeł Działania następującym:
Teraz spraw, aby nowe wydarzenie pojawiło się w widoku niestandardowym i powinieneś automatycznie otrzymać powiadomienie e-mailem! Łał!
źródło
Nie mam dostępu do komputera z serwerem Server 2008 lub Vista, aby samemu to wypróbować i uzyskać dla ciebie zmienną, ale ten artykuł powinien się przydać.
Jeśli utworzysz podstawowe zadanie, a następnie przejrzysz XML zadania, powinieneś zobaczyć wszystkie dostępne wartości.
http://blogs.technet.com/otto/archive/2007/11/09/find-the-event-that-triggered-your-task.aspx
źródło
Korzystając z dokumentacji w linku dostarczonym przez Sparks, dodaj ten dodatkowy wiersz do pliku XML wyeksportowanego z Harmonogramu zadań, aby uzyskać tekst zdarzenia:
Również interesujące (i mam nadzieję, że oczywiste):
Znalazłem google „Event / System / EventRecordID”
Następnie możesz odwoływać się do zmiennych $ (eventData) i $ (eventTimeCreated) w swoim zadaniu.
Wygląda na to, że wartości są określone przez przejście przez hierarchię XML. Spodziewałbym się, że będziesz w stanie określić większość dowolnych części zdarzenia poprzez dekompozycję zrzutu XML w celu utworzenia wyrażenia rozdzielanego ukośnikiem.
Wygląda na to, że „/ @” jest skrótem dla znaku spacji w tej składni.
źródło
Czy szukasz danych o wydarzeniu?
Moim wymaganiem było wysyłanie wiadomości e-mail za każdym razem, gdy pula aplikacji IIS została zamknięta z powodu braku czasu. Chciałem, aby nazwa puli aplikacji, która została zamknięta, pojawiła się w wiadomości e-mail.
To działało dla mnie:
<Value name = "appPoolId"> Event / EventData / Data [@ Name = 'AppPoolID'] </Value>
źródło
Nigdy nie udało mi się tego uruchomić i wygląda na to, że dla Server 2012 ta funkcja poczty e-mail została całkowicie usunięta. Niestety ślepy zaułek.
źródło
Chyba skończyłem rozwijać twoje pomysły
źródło