_Alfred
"In this the love of God was made manifest among us, that God sent his only Son into the world, so that we might live through him." - 1 John 4:9,10.
Powershell Script for Monitoring Availability of Network Hosts/Servers
By Alfred - Published: 2011-06-11
Here is my attempt to automate monitoring of available hosts/servers on my networks. I used the Test-Connection and Send-MailMessage cmdlets for sending an email with a list of hosts that are down as an attachment. It worked fine on Exchange 2007. However, it did not work for Exchange 2010 SP1. Received this error message: "Mailbox unavailable. The server response was: 5.7.1 Unable to relay." - You will have to create a new Relay Receive Connector and/or perform some permissions settings, as mentioned HERE or HERE and understand any security implications (take a look at: http://technet.microsoft.com/en-us/library/bb232021.aspx) to make it work with Exchange 2010 SP1.
$main_hosts = Get-Content "C:\Users\Admin\Documents\PoSh\Main_Hosts.txt" $result = $TRUE Foreach ($machine in $main_hosts) { $result = Test-Connection -ComputerName $machine -Quiet if ($result -eq $FALSE) { Add-Content -Path "C:\Users\Admin\Documents\PoSh\Hosts_Down.txt" -Value $machine $result = $TRUE $anydown = $TRUE } } if ($anydown -eq $TRUE) { Send-MailMessage -SmtpServer "smtp.yourdomain.com" -to "admin@domain.com" -from "email@domain.com" -Subject "Network Hosts Down" -Body "Please, examine attached file for non reachable hosts on the network." -Attachments "C:\Users\Admin\Documents\PoSh\Hosts_Down.txt" } Clear-Content "C:\Users\Admin\Documents\PoSh\Hosts_Down.txt"
The following is the error obtained while trying to run the script and send the email through Exchange 2010 SP1: