Skript otsib viimase 24 tunni erroid ning saadab need meiliga määratud aadressile

From ICO wiki
Jump to navigationJump to search


#Autor: Risto Siitan
#Ryhm: A22
#Skript otsib viimase 24 tunni erroid ning saadab need meiliga määratud aadressile

#Esiteks otsime ülese Application logist errorid
$App= Get-EventLog -log Application -EntryType Error -After (Get-Date).AddDays(-1);
#Järgnevalt loendame ära $APP-is oleva objekti pikkuse ning võrdleme 1-ga, juhul kui vähem kui üks siis järelikult errorid antud logis puudusid
$NRAPP=$APP | Measure-Object | %{$_.Count};
if ($NRAPP -lt 1)
{
    $APPLICATION = "Application logis errorid puuduvad"
}
#Juhul kui objekti pikkus on suurem on 1 on errorid olemas antud logis ning seetõttu omistame need uuele muutujale ning muudame väljundit sealt välja lõigates 
#Index-i, InstanceID ning Message tulbad ja muundame ka stringiks - see on vajalik e-maili töötamiseks
else
{
    $APPLICATIONERROR ="Application logi errorid:", $App | Format-Table Index, InstanceID, Message -auto | out-string
}
#Edasi pidi kordame tegevusi kõigi logide jaoks:
$Sys= Get-EventLog -log System -EntryType Error -After (Get-Date).AddDays(-1);
$NRSys=$Sys | Measure-Object | %{$_.Count}; 
if ($NRSys -lt 1)
{
    $SYSTEM="System logis errorid puuduvad"| out-string 
}else 
{
    
    $SYSTEMERROR="System logi errorid:", $Sys | Format-Table Index, InstanceID, Message -auto | out-string
}
$Haw= Get-EventLog -log HardwareEvents -EntryType Error -After (Get-Date).AddDays(-1);
$NRHaw=$Haw | Measure-Object | %{$_.Count};
if ($NRHaw -lt 1)
{
    $HARDWARE="HardwareEvents logis errorid puuduvad"
}
else
{
    $HARDWAREERROR ="HardwareEvents logi errorid:", $Haw | Format-Table Index, InstanceID, Message -auto | out-string

}
$Internet= Get-EventLog -log "Internet Explorer" -EntryType Error -After (Get-Date).AddDays(-1);
$NRINT = $INTERNET | Measure-Object | %{$_.Count};
if ($NRINT -lt 1)
{
    $INTERNETEX="Internet Explorer logis errorid puuduvad"
}
else
{
    $INTERNETEXERROR="Internet Explorer logi errorid:", $INTERNET | Format-Table Index, InstanceID, Message -auto | out-string
}

$KMS= Get-EventLog -log "Key Management Service" -EntryType Error -After (Get-Date).AddDays(-1);
$NRKMS=$KMS | Measure-Object | %{$_.Count};
if ($NRKMS -lt 1)
{
    $KEYMANS = "Key Management Service logis errorid puuduvad"
}
else
{
    $KEYMANSERROR="Key Management Service logi errorid:", $KMS | Format-Table Index, InstanceID, Message -auto | out-string
}
$Media= Get-EventLog -log "Media Center" -EntryType Error -After (Get-Date).AddDays(-1);
$NRMedia = $Media | Measure-Object | %{$_.Count};
if ($NRMedia -lt 1)
{
    $MEDIACENTER="Media Center logis errorid puuduvad"
}
else
{
    $MEDIACENTERERROR= "Media Center logi errorid:", $Media | Format-Table Index, InstanceID, Message -auto | out-string
}
$OAlert= Get-EventLog -log OAlerts -EntryType Error -After (Get-Date).AddDays(-1);
$NROAlert = $OAlert | Measure-Object | %{$_.Count};
if ($NROAlert -lt 1)
{
    $OALERTS="OAlerts logis errorid puuduvad"
}
else
{
    $OALERTSERROR="OAlerts logi errorid:", $OAlert | Format-Table Index, InstanceID, Message -auto | out-string
}
$WPow= Get-EventLog -log "Windows Powershell" -EntryType Error -After (Get-Date).AddDays(-1);
$NRWPow =$WPow | Measure-Object | %{$_.Count};
if ($NRWPow -lt 1)
{
    $WINDOWSPOW="Windows Powershell logis errorid puuduvad"
}
else
{
    $WINDOWSPOWERROR="Windows Powershell logi errorid:", $WPow | Format-Table Index, InstanceID, Message -auto | out-string
}
$Sec= Get-EventLog -log Security -EntryType Error -After (Get-Date).AddDays(-1);
$NRSec =$Sec | Measure-Object | %{$_.Count};
if ($NRSec -lt 1)
{
    $SECURITY="Security logis errorid puuduvad"
}
else
{
    $SECURITYERROR="Security logi errorid:", $Sec | Format-Table Index, InstanceID, Message -auto | out-string
}
#Määrame ära e-maili parameetrid
$MessageParameters = @{
From = "kasutaja@mail.com"
To = "kasutaja@mail.com"
Subject = "Errorid"
Body = "$APPLICATION $APPLICATIONERROR `n$SYSTEM $SYSTEMERROR `n$HARDWARE $HARDWAREERROR `n$INTERNETEX $INTERNETEXERROR `n$KEYMANS $KEYMANSERROR `n$MEDIACENTER $MEDIACENTERERROR `n$OALERTS $OALERTSERROR `n$WINDOWSPOW $WINDOWSPOWERROR `n$SECURITY $SECURITYERROR" 
#SmtpServer igal interneti pakkujal on oma, siis kui on vaja - tuleb muuta.(Seisuga 23.05.2011 peaksid olema suuremate teenuste pakkujate smtp serverid järgmised:
#elion - mail.neti.ee; starman - mail.starman.ee; uninet - smtp.uninet.ee; stv - mail.stv.ee)
SmtpServer = "mail.neti.ee"
	}
#Ning saadame meili vastavate parameetritega
Send-MailMessage @MessageParameters