Step-By-Step: Cara Memicu Peringatan Email Dari Peristiwa Windows Yang Termasuk Perincian Peristiwa Menggunakan Windows Server 2016
pengantar
Memicu Peringatan Email Dari Peristiwa Windows Menggunakan Windows Server 2016 hanya memerlukan beberapa langkah. Tentukan tindakan yang akan terjadi ketika Tugas dipicu. Karena Microsoft telah memutuskan untuk menghapus opsi "Kirim e-mail", satu-satunya pilihan yang kita miliki adalah Memulai Program. Dalam kasus kami, program itu akan menjadi skrip Powershell untuk mengumpulkan informasi Log Peristiwa dan menguraikannya. Dengan cara ini, kami dapat mengirim email yang menyertakan rincian Log Event penting. Pekerjaan ini diverifikasi pada Windows Server 2016. Tapi saya menduga itu harus bekerja pada Windows Server 2012 R2 dan Windows Server 2019 juga. Jika Anda membuatnya bekerja pada platform lain, silakan komentar dan beri tahu kami jika Anda harus mengubah apa pun.
Langkah 1- Tulis Skrip Powershell
Hal pertama yang harus dilakukan adalah menulis skrip Powershell yang ketika dijalankan dapat mengirim email. Saat meneliti ini, saya menemukan banyak cara untuk menyelesaikan tugas ini, jadi apa yang akan saya tunjukkan kepada Anda hanyalah satu cara, tetapi jangan ragu untuk bereksperimen dan menggunakan yang tepat untuk lingkungan Anda. Di lab saya, saya tidak menjalankan server SMTP saya sendiri, jadi saya harus menulis skrip yang dapat memanfaatkan akun Gmail saya. Anda akan melihat dalam skrip Powershell saya bahwa kata sandi ke akun email yang diautentikasi ke server SMTP dalam teks biasa. Jika Anda khawatir seseorang mungkin memiliki akses ke skrip Anda dan menemukan kata sandi Anda, lakukan enkripsi kredensial Anda. Gmail membutuhkan dan koneksi SSL. Kata sandi Anda harus aman pada kabel, sama seperti klien email lainnya. Saya memiliki contoh skrip Powershell. Ketika digunakan bersama dengan Penjadwal Tugas, itu akan mengirim peringatan email secara otomatis ketika Peristiwa tertentu login di Windows Event Log. Di lingkungan saya, saya menyimpan skrip ini ke C: Alerts DataKeeper.ps1
$ EventId = 16,20,23,150,219,220 $ A = Get-WinEvent -MaxEvents 1 -FilterHashTable @ {Logname = "System"; ID = $ EventId} $ Pesan = $ A.Message $ EventID = $ A.Id $ MachineName = $ A.MachineName $ Source = $ A.ProviderName $ EmailFrom = "sios@medfordband.com" $ EmailTo = "sios@medfordband.com" $ Subject = "Pemberitahuan Dari $ MachineName" $ Body = "EventID: $ EventID`nSource: $ Source`nMachineName: $ MachineName` nMessage: $ Pesan " $ SMTPServer = "smtp.gmail.com" $ SMTPClient = New-Object Net.Mail.SmtpClient ($ SmtpServer, 587) $ SMTPClient.EnableSsl = $ true $ SMTPClient.Credentials = New-Object System.Net.NetworkCredential ("sios@medfordband.com", "mySMTPP @ 55w0rd"); $ SMTPClient.Send ($ EmailFrom, $ EmailTo, $ Subject, $ Body)
Contoh email yang dihasilkan dari skrip Powershell seperti ini. Anda mungkin memperhatikan bahwa skrip Powershell ini menggunakan cmdlet Get-WinEvent untuk mengambil entri Entri Peristiwa terbaru berdasarkan LogName, Sumber, dan eventID yang ditentukan. Ini kemudian mem-parsing acara dan menetapkan variabel EventID, Sumber, MesinName dan Pesan yang akan digunakan untuk menulis email. Anda akan melihat bahwa LogName, Sumber, dan eventID yang ditentukan sama dengan yang akan Anda tentukan ketika Anda mengatur Tugas Terjadwal di Langkah 2.
Langkah 2 – Mengatur Tugas Terjadwal
Di Penjadwal Tugas Buat Tugas seperti yang ditampilkan di cuplikan layar berikut.
- Buat Tugas Pastikan tugas diatur ke Jalankan apakah pengguna sudah masuk atau tidak.
- Pada tab Pemicu pilih Baru untuk membuat Trigger yang akan memulai tugas "Pada Acara". Dalam contoh saya, saya akan membuat suatu peristiwa yang memicu setiap saat DataKeeper (extmirr) mencatat peristiwa penting ke log Sistem. Buat acara khusus dan Filter Acara Baru seperti yang ditunjukkan di bawah ini … Untuk pemicu saya, saya memicu pada SIOS DataKeeper yang biasa dipantau (ExtMirr) EventID 16, 20, 23.150.219.220. Anda perlu mengatur acara Anda untuk memicu pada Peristiwa spesifik yang ingin Anda pantau. Anda dapat menempatkan beberapa Pemicu di Tugas yang sama jika Anda ingin diberi tahu tentang acara yang berasal dari log atau sumber yang berbeda.
- Setelah Pemicu Peristiwa dikonfigurasi, Anda harus mengonfigurasi Tindakan yang terjadi saat acara dijalankan. Dalam kasus kami, kami akan menjalankan skrip Powershell yang kami buat pada Langkah 1.
- Parameter Kondisi default harus memadai.
- Dan akhirnya, pada tab Pengaturan, pastikan Anda mengizinkan tugas dijalankan sesuai permintaan dan untuk "Memasuki instance baru" jika tugas sudah berjalan.
Langkah 3 (Jika Diperlukan) – Perbaiki Microsoft Windows DistributedCOM ID Peristiwa: 10016 Kesalahan
Secara teori, jika Anda melakukan semuanya dengan benar, Anda harus dapat Memicu Pemberitahuan Email Dari Peristiwa Windows Menggunakan Windows Server 2016. Namun, saya mengalami masalah izin aneh di salah satu server saya. Inilah perbaikan saya untuk masalah saya. Semoga itu akan membantu Anda juga. Dalam kasus saya ketika saya secara manual memicu acara, atau jika saya menjalankan skrip Powershell secara langsung, semuanya bekerja seperti yang diharapkan dan saya akan menerima email. Namun, jika salah satu EventID yang dipantau masuk ke log peristiwa itu tidak akan menghasilkan email yang dikirim. Satu-satunya petunjuk yang saya miliki adalah ID Peristiwa: 10016. Itu login di log peristiwa Sistem saya setiap kali saya mengharapkan Pemicu Tugas untuk mendeteksi peristiwa yang tercatat.
Nama Log: Sistem Sumber: Microsoft-Windows-DistributedCOM Tanggal: 10/27/2018 5:59:47 PM ID Peristiwa: 10016 Kategori Tugas: Tidak ada Tingkat: Kesalahan Kata Kunci: Klasik Pengguna: DATAKEEPER dave Komputer: sql1.datakeeper.local Deskripsi: Pengaturan izin khusus aplikasi tidak memberikan izin Aktivasi Lokal untuk aplikasi COM Server dengan CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} dan APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} kepada pengguna DATAKEEPER dave SID (S-1-5-21-25339xxxxx-208xxx580-6xxx06984-500) dari alamat LocalHost (Menggunakan LRPC) yang berjalan dalam kontainer aplikasi Tidak tersedia SID (Tidak Tersedia). Izin keamanan ini dapat dimodifikasi menggunakan alat administratif Komponen Layanan.
Banyak hasil pencarian Google untuk kesalahan itu menunjukkan bahwa kesalahan itu jinak. Ini termasuk instruksi tentang cara menekan kesalahan daripada memperbaikinya. Namun, saya cukup yakin kesalahan ini adalah penyebab kegagalan saya saat ini. Jika saya tidak memperbaikinya, akan sulit untuk Memicu Peringatan Email Dari Peristiwa Windows Menggunakan Windows Server 2016. Setelah banyak pencarian, saya menemukan diskusi newsgroup ini. Tanggapan dari Marc Whittlesey mengarahkan saya ke arah yang benar. Ini yang dia tulis …
Ada 2 kunci registri Anda harus mengatur izin sebelum Anda pergi ke layanan DCOM Configuration in Component: kunci CLSID dan kunci APPID.
Saya menyarankan Anda untuk mengikuti beberapa langkah untuk memperbaiki masalah:
1 Tekan tombol Windows + R dan ketik regedit dan tekan Enter. 2 Pergi ke HKEY_Classes_Root CLSID * CLSID *. 3 Klik kanan padanya lalu pilih izin. 4. Klik Maju dan ubah pemiliknya menjadi administrator. Juga klik kotak yang akan muncul di bawah garis pemilik. 5. Terapkan kontrol penuh. 6 Tutup tab lalu pergi ke HKEY_LocalMachine Software Classes AppID * APPID *. 7 Klik kanan padanya lalu pilih izin. 8. Klik Maju dan ubah pemiliknya menjadi administrator. 9. Klik kotak yang akan muncul di bawah garis pemilik. 10. Klik Terapkan dan berikan kontrol penuh untuk Administrator. 11. Tutup semua tab dan buka alat Administratif. 12. Buka layanan komponen. 13. Klik Komputer, klik komputer saya, lalu klik DCOM. 14 Cari layanan yang sesuai yang muncul pada penampil kesalahan. 15. Klik kanan padanya lalu klik properties. 16. Klik tab keamanan kemudian klik Tambah Pengguna, Tambah Sistem lalu terapkan. 17 Centang kotak Aktifkan lokal. Jadi gunakan kunci yang relevan di sini dan Konfigurasi DCOM akan memberi Anda akses ke area yang diklik: CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
Saya bisa mengikuti Langkah 1-15 cukup banyak kata demi kata. Namun, ketika saya sampai ke Langkah 16, saya benar-benar tidak tahu persis apa yang dia ingin saya lakukan. Awalnya saya memberikan akun pengguna DATAKEEPER dave Kontrol Penuh ke RuntimeBroker, tetapi itu tidak memperbaiki banyak hal. Akhirnya saya hanya memilih "Use Default" pada ketiga perizinan dan yang memperbaiki masalah. Saya tidak yakin bagaimana atau mengapa ini terjadi. Saya pikir saya lebih baik menulis semuanya kalau-kalau itu terjadi lagi karena butuh beberapa saat untuk mengetahuinya.
Langkah 4 – Mengotomasi Penempatan
Jika Anda perlu mengaktifkan peringatan yang sama pada beberapa sistem, ekspor Tugas Anda ke file XML dan Impor pada sistem Anda yang lain. Atau bahkan lebih baik lagi. Otomatiskan Impor sebagai bagian dari proses pembuatan Anda melalui skrip Powershell setelah membuat file XML Anda tersedia di berbagi file seperti yang ditunjukkan pada contoh berikut.
PS C: > Daftar-ScheduledTask -Xml (dapatkan-konten '\ myfileshare tasks DataKeeperAlerts.xml' | out-string) -TaskName "DataKeeperAlerts" - Pengguna datakeeper dave -Password MyDomainP @ 55W0rd –Force
Memicu Peringatan Email Dari Peristiwa Windows Menggunakan Windows Server 2016
Dalam posting saya berikutnya, saya akan menunjukkan kepada Anda bagaimana untuk diberitahu ketika Layanan tertentu mulai atau berhenti. Tentu saja Anda bisa memantau EventID 7036 dari Service Control Monitor. Tapi itu akan memberi tahu Anda kapan pun layanan dimulai atau berhenti. Kami perlu menggali lebih dalam untuk memastikan kami mendapatkan pemberitahuan hanya ketika layanan yang kami pedulikan mulai atau berhenti. Jika Anda tertarik dengan artikel kami seperti Trigger Email Alerts Dari Peristiwa Windows Menggunakan Windows Server 2016, klik di sini. Direproduksi dari Clusteringformeremortals.com