Salah satu fitur baru Server 2008 adalah kemampuan untuk melampirkan tugas ke acara tertentu di log peristiwa. Salah satu tindakan yang tersedia adalah mengirim email melalui server SMTP.
Ini bekerja dengan baik, namun akan ideal jika di badan pesan, konten acara dapat ditempatkan. Saya telah mencoba menggunakan $ eventdescription dan% eventdescription%, tetapi itu hanyalah bidikan dalam kegelapan. Berapapun jumlah googling tidak menghasilkan apa-apa.
Adakah yang tahu kalau ini mungkin?
Pembaruan : Saran Sparks di bawah ini adalah langkah ke arah yang benar saya percaya, namun metode itu tampaknya tidak berfungsi untuk semua nilai. Misalnya, saya dapat menarik RecordID, Severity, dan Channel seperti yang ditunjukkan, tetapi saya tidak dapat menggunakan metode yang sama untuk mengambil kembali EventID, atau yang paling penting deskripsi.
Berikut XML mentah dari satu acara:
[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]
Saya telah mencoba menggunakan ValueQuery untuk EventData, tetapi tidak mengembalikan data.
sumber
Jawaban:
Saya melakukan hal ini sedikit berbeda, tetapi pendekatan ini menghasilkan email pada acara baru yang cocok dengan filter khusus, dengan semua detail acara termasuk dalam badan email.
1) Buat 'Tampilan Kustom' di Peraga Peristiwa dengan filter yang Anda inginkan.
2) Setelah Anda memiliki tampilan, Anda akan melihat tautan ke 'Lampirkan Tugas ke Tampilan Kustom Ini ...'.
Saya memilih untuk menggunakan sendMail.exe dari sini ( http://caspian.dotconf.net/menu/Software/SendEmail/ ) yang saya ekstrak ke C: \ sendmail. Alasannya adalah tindakan Microsoft 'Kirim email' memiliki masalah dengan otentikasi SMTP dan juga tampaknya tidak ada di Server 2012.
Jadi dalam kasus saya, saya memilih 'Mulai program' sambil melampirkan tugas ke Tampilan Kustom. Tapi kita akan mengeditnya sebagai XML jadi jangan khawatir tentang mengisinya melalui GUI.
3) Ekspor Tugas baru ke XML, kami akan mengeditnya nanti.
4) Buat file 'mail-event.bat' di bawah C: \ sendmail folder dengan 3 baris berikut:
Jelas, ganti 'smtp_server', 'dari', 'user', 'pass', 'to', 'subject' dengan nilai yang diinginkan.
Ini akan membuat file '$ (EventRecordID) .log' di bawah C: \ sendmail dengan semua detail untuk acara itu, kirimkan, lalu hapus.
Anda dapat menguji apakah file kumpulan bekerja dengan masuk ke Peraga Peristiwa, membuka acara di log Aplikasi Anda, beralih ke tab Detail, memilih 'Tampilan XML' dan kemudian mencari EventRecordID. Salin integer itu, dan kemudian jalankan dari baris perintah:
C: \ sendmail> log-event.bat 53522
Tentu saja, mengganti 53522 dengan nilai dari simpul EventRecordID. Jika Anda menerima email, pergi ke tempat bahagia Anda.
CATATAN BAIK: Anda mungkin telah memperhatikan string 'Aplikasi' muncul beberapa kali di baris perintah untuk wevtutil.exe - itu karena saya sepertinya tidak bisa membuatnya berfungsi dengan mengarahkan langsung ke Custom View, dan saya Tampilan Kustom kebetulan merupakan sub-set acara yang semuanya ada di dalam log Aplikasi. Anda mungkin harus menyesuaikannya agar berfungsi dalam kasus Anda jika Anda mencoba mengirimkan acara dari System log, misalnya.
5) Edit XML yang Anda ekspor, kami akan membuat dua perubahan:
Pertama, tambahkan simpul 'ValueQueries' berikut ke dalam XML di bawah simpul 'EventTrigger':
CATATAN: Di atas, saya memotong info 'Berlangganan' yang akan diisi berdasarkan Tampilan Kustom yang Anda buat. Jangan menyalin 'Langganan' saya ke XML Anda!
Kedua, ganti simpul Actions dengan yang berikut:
Sekarang, buat acara baru muncul di Tampilan Kustom Anda, dan Anda akan secara otomatis mendapatkan notifikasi email! Woo hoo!
sumber
Saya tidak memiliki akses ke mesin Server 2008 atau Vista untuk mencoba ini sendiri dan mendapatkan variabel untuk Anda tetapi artikel ini harus digunakan.
Jika Anda membuat tugas dasar dan kemudian melihat XML tugas, Anda harus melihat semua nilai yang tersedia.
http://blogs.technet.com/otto/archive/2007/11/09/find-the-event-that-triggered-your-task.aspx
sumber
Menggunakan dokumentasi di tautan yang disediakan oleh Sparks, tambahkan baris tambahan ini ke XML yang diekspor dari Penjadwal Tugas untuk mendapatkan teks acara Anda:
Juga menarik (dan mudah-mudahan cukup jelas):
Saya menemukan Googling ini "Event / System / EventRecordID"
Anda kemudian dapat mereferensikan variabel $ (eventData) dan $ (eventTimeCreated) dalam tugas Anda.
Tampaknya seolah-olah nilai ditentukan dengan melangkah melalui hierarki XML. Saya berharap Anda dapat menentukan sebagian besar bagian acara dengan mendekomposisi dump XML mentah untuk membuat ekspresi dibatasi garis miring.
Sepertinya '/ @' adalah kependekan dari karakter spasi dalam sintaks ini.
sumber
Apakah Anda setelah data acara?
Persyaratan saya adalah mengirim email setiap kali Pool Aplikasi IIS dimatikan karena waktu tidak digunakan. Saya ingin nama kumpulan aplikasi yang sedang ditutup muncul di pesan email.
Ini bekerja untuk saya:
<Value name = "appPoolId"> Event / EventData / Data [@ Name = 'AppPoolID'] </Value>
sumber
Saya tidak pernah akhirnya mendapatkan ini berfungsi, dan sepertinya untuk Server 2012 fungsi email ini telah dihapus sepenuhnya. Jalan buntu sayangnya.
sumber
Saya kira saya selesai mengembangkan ide-ide Anda
sumber