Check every 15minutes if internet is available, reboot network card if not.
# ----------------------------------------------
# Author: Romain Blanchard
# Date: 28.06.2012
# Description: Check every 15minutes if internet is available, reboot network card if not.
# ----------------------------------------------
cls
function CheckURL( ){
Set-Variable -Name return -Value 0 -Scope 0
trap [Exception]{
Set-Variable -Name return -Value 1 -Scope 1
$nic = Get-WmiObject win32_networkadapter -computerName LocalHost -filter "DeviceId = 7"
$nic.disable() | Out-Null
start-sleep 15
$nic.enable() | Out-Null
start-sleep 5
$Date = Get-Date
$EmailFrom = "informations_serveur@news.com"
$EmailTo = "blanchard.rom@gmail.com"
$Subject = "Le seveur à redémarrer - $Date"
$Body = ""
$SMTPServer = "smtp.gmail.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("blanchard.rom", "*******");
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
continue
}
$webclient = New-Object Net.WebClient
$response=$webclient.DownloadString("http://www.google.fr")
if ($return -eq 0)
{
write-host "PING OK" -f green
}
}
CheckURL