Zhaobab
3/2/2015 - 3:29 PM

Check every 15minutes if internet is available, reboot network card if not.

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