PowerShell: Andres Mill, rakenduse töötamise kontroll: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Amill (talk | contribs)
Amill (talk | contribs)
 
Line 4: Line 4:
==Skript, mis kontrollib, kas rakendus töötab==
==Skript, mis kontrollib, kas rakendus töötab==
<source lang="powershell">
<source lang="powershell">
$word = new-object -com 'word.application'
$rakendus = "Skype" #Siia kirjuta soovitud rakenduse nimi
$rakendus = "Skype" #Siia kirjuta soovitud rakenduse nimi
$computer = get-content env:computername
$computer = get-content env:computername
Line 16: Line 15:
}   
}   


$rakendused=$word.tasks |where-object {$_.visible}|where-object {$_.name -like "*$rakendus*"}| select name
$rakendused=Get-Process | where {$_.ProcessName -eq $rakendus}
if ($rakendused -like "*$rakendus*"){
if ($rakendused.ProcessName -eq $rakendus){
Send-MailMessage @MessageParameters
Send-MailMessage @MessageParameters
echo "e-mail saadetud"
}
}
else {
else {
Line 24: Line 24:
}   
}   
</source>
</source>
==Skript, mis käivitab rakenduse kontrolli skripti iga 60 sekundi järel==
==Skript, mis käivitab rakenduse kontrolli skripti iga 60 sekundi järel==
<source lang="powershell">
<source lang="powershell">

Latest revision as of 09:34, 27 May 2011

Ülesanne

  1. Skript kontrollib, kas mingi rakendus töötab. Näiteks Skype. Kui töötab, siis saadab e-maili, et rakendus töötab selles arvutis.
  2. Skript käivitab rakenduse töötamise kontrolli skripti iga 60 sekundi tagant.

Skript, mis kontrollib, kas rakendus töötab

$rakendus = "Skype" #Siia kirjuta soovitud rakenduse nimi
$computer = get-content env:computername

$MessageParameters = @{
From = "from@email.ee" #Siia kirjuta enda e-mail.
To = "to@email.ee" #Siia kirjuta kellelt e-mail tuleb.
Subject = "TEATE: $rakendus töötab! " #Siia kirjuta kirja pealkiri.
Body = "Teatan teile, et $rakendus töötab arvutis $computer." #Siia kirjuta kirja sisu
SmtpServer = "mail.starman.ee" #Siia kirjuta enda SMTP serveri nimi
}  

$rakendused=Get-Process | where {$_.ProcessName -eq $rakendus}
if ($rakendused.ProcessName -eq $rakendus){
Send-MailMessage @MessageParameters
echo "e-mail saadetud"
}
else {
    echo "$rakendus ei tööta"
}

Skript, mis käivitab rakenduse kontrolli skripti iga 60 sekundi järel

while($true) {
powershell.exe -noprofile -executionpolicy Unrestricted -file C:\Users\Andres\Desktop\kodutoo.ps1 #Siin muuda skripti asukoht ära.
start-sleep -seconds 60
}