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