Teenusemonitor: Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category: Skriptimiskeeled]] | |||
== Ülesanne == | == Ülesanne == | ||
Skript, mis kontrollib, kas mingi teenus (näiteks Spooler) töötab ning kui ei tööta, siis saadab e-kirja, teatega, et teenus ei tööta. | Skript, mis kontrollib, kas mingi teenus (näiteks Spooler) töötab ning kui ei tööta, siis saadab e-kirja, teatega, et teenus ei tööta. | ||
Line 17: | Line 18: | ||
$aeg = Get-Date # Muutujale antakse väärtuseks kuupäev ja kellaaeg | $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 | # Kontrollime tsükliga, kas protsess eksisteerib otsides Get-Process käsuga protsessi nime, | ||
# -ErrorAction 0 tagab, et ei kuvataks veateateid | |||
do {} | |||
# | While (Get-Process $protsess -ErrorAction 0 | select -Property Responding) | ||
#Tsükkel katkeb, juhul kui protsessi ei eksisteeri ning saadetakse mail | |||
# Kirjeldame SMTP serveri | # Kirjeldame SMTP serveri | ||
$smtp = new-object system.Net.Mail.SmtpClient($smtp_server) | $smtp = new-object system.Net.Mail.SmtpClient($smtp_server) | ||
Line 36: | Line 38: | ||
# Saadame kirja, luues uue ühenduse SMTP serveriga. | # Saadame kirja, luues uue ühenduse SMTP serveriga. | ||
$smtp.send($kiri) | $smtp.send($kiri) | ||
# Skripti lõpp | # Skripti lõpp | ||
</source> | </source> | ||
== Autor == | == Autor == | ||
--[[User:Mvaling|Marko Valing, AK31(2010)]] | --[[User:Mvaling|Marko Valing, AK31(2010)]] 21:48, 27 January 2011 (EET) |
Latest revision as of 10:44, 28 January 2011
Ülesanne
Skript, mis kontrollib, kas mingi teenus (näiteks Spooler) töötab ning kui ei tööta, siis saadab e-kirja, teatega, et teenus ei tööta.
Skript
# 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 = "spoolsv" # Muutujale tuleb anda väärtuseks protsessi nimi, mida soovitakse kontrollida, näiteks spoolsv
$saatja= "nimi@domeen.com" # Muutujale tuleb anda väärtuseks saatja e-posti aadress kujul: nimi@domeen.com
$saaja = "nimi@domeen.com" # Muutujale tuleb anda väärtuseks saaja e-posti aadress kujul: nimi@domeen.com
$smtp_server = "mail.domeen.com" # Muutujale tuleb anda väärtuseks kasutatava SMTP serveri aadresss
$aeg = Get-Date # Muutujale antakse väärtuseks kuupäev ja kellaaeg
# Kontrollime tsükliga, kas protsess eksisteerib otsides Get-Process käsuga protsessi nime,
# -ErrorAction 0 tagab, et ei kuvataks veateateid
do {}
While (Get-Process $protsess -ErrorAction 0 | select -Property Responding)
#Tsükkel katkeb, juhul kui protsessi ei eksisteeri ning 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
Autor
--Marko Valing, AK31(2010) 21:48, 27 January 2011 (EET)