Teenusemonitor
From ICO wiki
# Skript, mis saadab määratud e-posti aadressile kirja, kui protsess ei tööta
# Nõutavad sisendid kasutaja poolt:
# Protsessi nimi -> muutuja $protsess
# Saatja e-posti aadress -> muutuja $saatja
# Saaja e-posti aadress -> muutuja $saaja
# SMTP serveri aadress -> muutuja $smtp_server
$protsess = "putty" # Muutujale tuleb anda väärtuseks protsessi nimi, mida soovitakse kontrollida, näiteks spoolsv
$saatja= "marko.valing@ria.ee" # Muutujale tuleb anda väärtuseks saatja e-posti aadress kujul: nimi@domeen.com
$saaja = "tuudik@smail.ee" # Muutujale tuleb anda väärtuseks saaja e-posti aadress kujul: nimi@domeen.com
$smtp_server = "mail.aso.ee" # Muutujale tuleb anda väärtuseks kasutatava SMTP serveri aadresss
$aeg = Get-Date # Muutujale antakse väärtuseks kuupäev ja kellaaeg
# Kontrollime, kas protsess eksisteerib otsides Get-Process käsuga protsessi nime,
# -ErrorAction 0 tagab, et ei kuvataks veateateid, sest "if" kontrollib, kas otsingule
# tuleb väljund või mitte.
if (!(Get-Process $protsess -ErrorAction 0)) {
# Kui käsule väljundit ei tule siis, saadetakse mail
# Kirjeldame SMTP serveri
$smtp = new-object system.Net.Mail.SmtpClient($smtp_server)
# Loome uue kirja objekti
$kiri = new-object System.Net.Mail.MailMessage
# Määrame muutujaga saatja
$kiri.from = $saatja
# Määrame muutujaga saaja (lisatakse saajate nimekirja)
$kiri.to.add($saaja)
# Määrame kirja pealkirja
$kiri.subject = "$protsess ei tööta!"
# Määrame kirja teksti
$kiri.body = "Protsess $protsess ei tööta! Aeg: $aeg"
# Saadame kirja, luues uue ühenduse SMTP serveriga.
$smtp.send($kiri)
}
# Skripti lõpp