Ich habe im Systemmonitor (Windows Server 2008 R2) eine Warnung erstellt, die ausgelöst werden sollte, wenn \ Processor (_Total) \% Prozessorzeit über 10 liegt (ein kleiner Wert, nur um zu garantieren dass die Bedingung für das Senden der Warnung immer erfüllt ist). Sie können die Eigenschaften der Alert-Aufgabe im Bild sehen.E-Mail-Benachrichtigung vom Systemmonitor mit PowerShell-Skript senden
Darüber hinaus habe ich auch eine neue Aufgabe in der Aufgabenplanung, die ausgeführt werden soll, ob der Benutzer auf angemeldet ist oder nicht, und es wird mit höchsten Privilegien ausführen. Der Auslöser für diese Aufgabe hat die folgenden Eigenschaften:
- die Aufgabe, Beginn: Auf einer Veranstaltung
- Einstellungen: Grund
- Log: System
- Quelle: Prozessor
Die Aktionen (und das ist der Teil ich weiß nicht, ob es korrekt ist) hat die folgenden Einstellungen:
- Aktion: Starten eines Programms
- Programm/Skript: Der Pfad zu einem PowerShell-Skript zum Senden einer E-Mail.
Der Powershell-Code ist der folgende ($ name, $ date, $ Zähler, $ Schwelle, wird $ Wert kommen, von den Performance Monitor Datensammlern Alarm Task-Eigenschaften, wie im Bild oben gesetzt soll):
Sobald die Aufgabe gestartet wird, habe ich Folgendes in der Historie: Aufgabe gestartet, Aktion gestartet und erstellt fragen Prozess. Die E-Mail wird jedoch niemals gesendet.
Ich habe versucht, eine E-Mail mit der Aktion: Senden Sie eine E-Mail, und es hat gut funktioniert. Weiß jemand, was könnte falsch sein?
Sind Sie sicher, dass alle Parameter korrekt im Skript übergeben werden? Eine andere Sache ist, wenn Sie Powershell v3 verwenden, dann können Sie send-mailmessage Cmdlet -http: //stackoverflow.com/a/17456077/581922 – Mitul
@Mitul: Meinst du die Parameter $ Name, $ Datum, etc? Wenn ja, wie kann ich prüfen? Wenn Sie sich auf den Parameter wie E-Mail, SMTP-Server usw. beziehen, verwende ich das gleiche wie in der Aktion: Eine E-Mail senden (mit dem Unterschied, dass mein SMTP-Server im Skript mit "SMTP" beginnt. (Und leider verwende ich nicht v3 :( – Anna
Der Code, den Sie posteten, definiert eine Funktion, aber ich sehe nicht, dass Sie diese Funktion überall aufrufen. –