Este script pode ser executado tanto no servidor como na parte de cliente, copie o código abaixo e salve como monitorweb.ps1. Apenas salientando que o teste de “ping” é feito a cada 30 segundos, caso não tenha nenhuma resposta da url configurada ou se gerar alguma exceção o e-mail será enviado para sua caixa postal.

——————————————————————————————————————————————————–

function MonitorSite {

param($URL)
$emailFrom = “seuemail@test.com” #digita seu email
$emailTo = “seuemail@test.com” #digita seu email
$smtpServer = “mail.teste.com.br” #entre com o servidor de smtp
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
#$smtp.Credentials = New-Object System.Net.NetworkCredential(“sua conta de smtp”, “senha”); 
#Caso seja necessário descomente a linha acima para entrar com as credenciais

trap{

“Failed. Details: $($_.Exception)”

$subject = “Exception Sent from PowerShell”

$body = “Fail`t`t” + “`t`t”+”Failed. Details: $($_.Exception)”

$smtp.Send($emailFrom, $emailTo, $subject, $body)

exit 1

}

$webclient = New-Object Net.WebClient

#some sites may refuse your test if the user agent is not explicit

# $webClient.Headers.Add(“user-agent”, “IE”)

$webclient.Credentials = [System.Net.CredentialCache]::DefaultCredentials

if($webclient.Proxy -ne $null) {

$webclient.Proxy.Credentials = `

[System.Net.CredentialCache]::DefaultNetworkCredentials

}

while (1 -eq 1)

{

$startTime = get-date

$webclient.DownloadString($URL) | Out-Null

$endTime = get-date

#should not slower than 120 seconds

if (($endTime – $startTime).TotalSeconds -ge 120)

{

” TimeOut. “

$subject = “Timeout Sent from PowerShell”

$body = “Timeout`t`t” + $startTime.DateTime + “`t`t” + ($endTime – $startTime).TotalSeconds + ” seconds”

$smtp.Send($emailFrom, $emailTo, $subject, $body)

}

else

{

“Success`t`t” + $startTime.DateTime + “`t`t” + ($endTime – $startTime).TotalSeconds + ” seconds”

}

#ping site every 30 seconds

sleep(30)

}

}

MonitorSite “http://localhost”

——————————————————————————————————————————————————–

Resultado:

Fonte: AsiaTech

Erick Albuquerque | MVP, MCT, MCTS, MCSA, MCITP SA, MCITP EA

http://iisbrasil.wordpress.com/ | http://windows8dicas.com.br/