मेरे पास एक ऐसा ही समाधान है जिसे मैं केवल उसी स्थिति में साझा करना चाहता था जब कोई इसका उपयोग करने के लिए डाल सकता है क्योंकि यह मुझे बाहर निकालने में मदद करता है और मुझ पर चिल्लाता है जब मुझे स्पष्ट रूप से विशिष्ट इवेंट आईडी के आधार पर इसकी आवश्यकता होती है ।
निर्धारण
यह समाधान कार्य शेड्यूलर कार्य का उपयोग करता है जिसमें ऑन करने के लिए किसी इवेंट के ऑन के कई भिन्न
ट्रिगर होते हैं । आप विशिष्ट ईवेंट आईडी निर्दिष्ट करते हैं जो एक निष्पादन को " ट्रिगर " करने के लिए है ।
पॉवरशेल स्क्रिप्ट
यहां एक PowerShell स्क्रिप्ट है जो एक ईमेल भेजने के लिए एक पासवर्ड के साथ एक जीमेल खाते का उपयोग करता है जिसमें इसके शरीर में लागू घटनाओं का विवरण शामिल होगा।
नोट: आपको Gmail खाता पासवर्ड PowerShell स्क्रिप्ट के पहले तर्क के रूप में पास करना होगा।
$EmailPassword=$args[0]
$event = get-eventlog -LogName System -EntryType Error -newest 1
$PCName = $env:COMPUTERNAME
$Username = "LocalMailBox"
$EmailBody = $event | format-list -property * | out-string
$EmailFrom = "$PCName <noreply@domain.notify>"
$EmailTo = "whatever@gmail.com"
$EmailSubject = "New Event Log [System]"
$SMTPServer = "smtp.gmail.com"
Write-host "Sending Email"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Username, $EmailPassword);
$SMTPClient.Send($EmailFrom, $EmailTo, $EmailSubject, $EmailBody)
Start-Sleep -s 10
से कार्रवाई टैब आप एक पैदा करेगा कार्रवाई के रूप में परिभाषित:
- क्रिया:
Start a program
- कार्यक्रम / स्क्रिप्ट:
Powershell
- तर्क जोड़ें (वैकल्पिक):
-ExecutionPolicy Bypass -File "C:\Scripts\PSScript.ps1" "GmailPassword"
- प्रारंभ (वैकल्पिक):
C:\Windows\System32\WindowsPowerShell\v1.0
निर्धारित कार्य के सामान्य टैब से, सुनिश्चित करें कि उपयोगकर्ता लॉग ऑन है या नहीं और उच्चतम विशेषाधिकार विकल्पों के साथ चलाएं दोनों चयनित हैं।
ईमेल
ऊपर बताई गई हर चीज के साथ, जैसा कि निर्दिष्ट किया गया है, यह सुनिश्चित करेगा कि जब उन विशिष्ट सिस्टम ईवेंट आईडी को जेनरेट किया जाता है, जिन्हें आपने " ट्रिगर्स " के रूप में परिभाषित किया है, जिसके लिए एक ईमेल भेजा जाएगा, और उम्मीद है कि प्रत्येक ईवेंट को ट्रिगर करने वाले इवेंट के अनुसार लागू विवरण के साथ।
मैं केवल इस बात का उल्लेख करता हूं क्योंकि मैंने देखा है कि अगर पावरस् लेल से मेल खाने वाली दो घटनाओं को
$event | format-list -property * | out-string
जल्दी से बनाया जाता है, तो ईमेल के मुख्य भाग में समय के आधार पर नवीनतम घटना का विवरण होगा।
याद रखें कि इवेंट आईडी बॉडी कंटेंट की परवाह किए बिना और भले ही यह आपके द्वारा ट्रिगर की गई विशिष्ट घटनाओं के लिए प्रासंगिक न हो, यह निश्चित है कि उन ट्रिगर ने वास्तव में इस ईमेल को ट्रिगर किया है इसलिए इसे प्राप्त होने पर कुछ ध्यान दें।