मैंने प्रदर्शन मॉनिटर (विंडोज सर्वर 2008 आर 2) में एक चेतावनी बनाई है जिसे जब भी \ प्रोसेसर (_Total) \% प्रोसेसर समय 10 से ऊपर ट्रिगर किया जाना चाहिए (केवल गारंटी के लिए एक छोटा सा मूल्य कि अलर्ट भेजने की स्थिति हमेशा मिलती है)। आप छवि में अलर्ट कार्य गुण देख सकते हैं।PowerShell स्क्रिप्ट का उपयोग कर प्रदर्शन मॉनीटर से ईमेल अलर्ट भेजें
इसके अलावा, मैं भी चला जाएगा कि उपयोगकर्ता पर हो या ना किया गया है या नहीं कार्य शेड्यूलर में कोई नया कार्य बनाया है, और यह उच्चतम विशेषाधिकारों के साथ चलेंगे।
- कार्य शुरू: एक घटना पर
- सेटिंग: बेसिक
- लॉग: इस कार्य के लिए ट्रिगर निम्नलिखित गुण है प्रणाली
- स्रोत: प्रोसेसर
क्रिया (और यह वह हिस्सा है जो मुझे नहीं पता कि यह सही है या नहीं) निम्नलिखित सेटिंग्स हैं:
- क्रिया: एक प्रोग्राम शुरू करें
- प्रोग्राम/स्क्रिप्ट: एक ईमेल भेजने के लिए PowerShell स्क्रिप्ट का पथ।
PowerShell कोड निम्नलिखित ($ नाम, $ तिथि, $ काउंटर, $ सीमा, $ मूल्य ऊपर छवि में के रूप में, चेतावनी कार्य गुण सेट प्रदर्शन मॉनिटर डेटा कलेक्टर से आने की अपेक्षा की जाती है):
function SendMail ($name, $date, $counter, $threshold, $value) {
$MailMessage = New-Object Net.Mail.MailMessage
$MailMessage.To.Add("[email protected]")
$MailMessage.From = "[email protected]"
$MailMessage.Subject = "ALERT - Performance Monitor"
$MailMessage.IsBodyHtml = $True
$MailMessage.Body = @"
<html><head></head><body>
The following counter needs attention:<BR><BR>
Name: $($name)<BR>
Date: $($date)<BR>
Counter: $($counter)<BR>
Threshold: $($threshold)<BR>
Actual Value: $($value)<BR>
<FONT face=Courier>$($html)</FONT>
<BR>
--- Automatically generated with SENDMAIL function ---
</body>
</html>
"@
$SmtpClient = New-Object Net.Mail.SmtpClient("blah.bleh")
$SmtpClient.Send($MailMessage)
}
एक बार कार्य शुरू होने के बाद, मेरे पास इतिहास में निम्न कार्य है: कार्य शुरू हुआ, कार्य शुरू हुआ, और प्रक्रिया पूछी गई। हालांकि ईमेल कभी नहीं भेजा जाता है।
मैंने कार्रवाई का उपयोग करके एक ईमेल भेजने का प्रयास किया: एक ईमेल भेजें, और यह ठीक काम किया। क्या किसी को पता है कि क्या गलत हो सकता है?
क्या आप सुनिश्चित हैं कि सभी पैरामीटर स्क्रिप्ट में सही तरीके से पारित हो रहे हैं। एक और बात यह है कि यदि आप पावरहेल v3 का उपयोग कर रहे हैं तो आप send-mailmessage cmdlet -http: //stackoverflow.com/a/17456077/581922 – Mitul
@Mitul का उपयोग कर सकते हैं: क्या आपका मतलब पैरामीटर $ name, $ date, आदि है? यदि हां, तो मैं कैसे जांच सकता हूं? यदि आप ईमेल, smtp सर्वर, आदि जैसे पैरामीटर का जिक्र कर रहे हैं, तो मैं उसी क्रिया का उपयोग कर रहा हूं जैसा कि मैंने एक्शन में उपयोग किया था: एक ईमेल भेजें (इस अंतर के साथ, स्क्रिप्ट में, मेरा smtp सर्वर "SMTP" से शुरू होता है। (और दुर्भाग्य से, मैं v3 :( – Anna
कोड तुम्हें तैनात एक समारोह को परिभाषित करता है उपयोग कर रहा हूँ, लेकिन मैं आप कहीं भी है कि कार्यप्रणाली को कॉल नहीं दिख रहा। –