Hi,
Today I was looking for a little PowerShell script which can Ping multiple servers and give a consolidated view on PowerShell console that which one is Live and which one is Dead.
Then a decide to write my own and finally wrote it: ) and it is a only a 9 line script :)
You can copy and paste the script from below or you can download it from here : http://dl.dropbox.com/u/17858935/Ping_Multiple_Servers.zip
let me explain the script :
$Servername: is a variable which contain a list of comma separated Server name
in foreach script block we are selecting all servers in $ServerName variable and run Test-Connection cmdlets against them
in If Test-Connection evaluates that servers in Pinging that it writes “S$server is alive” otherwise it write “Server is dead”,
In test-connection Cmdlet we define that it should send only 2 Pings to the server using –count 2 switch parameter and used –Quiet Switch parameter so that is show the output in Boolean (true or false)
1: #### Provide the computer name in $computername variable
2:
3: $ServerName = "Dc-2","LocalHost","Server-2","Not-Exists","Fake-computer"
4:
5: ##### Script Starts Here ######
6:
7: foreach ($Server in $ServerName) {
8:
9: if (test-Connection -ComputerName $Server -Count 2 -Quiet ) {
10:
11: write-Host "$Server is alive and Pinging " -ForegroundColor Green
12:
13: } else
14:
15: { Write-Warning "$Server seems dead not pinging"
16:
17: }
18: }
19:
20: ########## end of script #######################
The output of the script will be like below link.
Download Link : http://dl.dropbox.com/u/17858935/Ping_Multiple_Servers.zip
Thanks
aman dhally
I was looking at the code here: http://exchangeserverpro.com/powershell-send-html-email, and I'm able to email based on that code. My question is, how do I email the output from your script Ping Multiple Servers using “PowerShell”?
ReplyDeleteHi David
DeletePlease check your email, i sent you the updated version of this script which include the email facility usind Send-MailMessage cmdlet.
or you can download the script from here :
http://dl.dropbox.com/u/17858935/Ping_Multiple_Server_With_Email.zip
thanks
aman
I got the updated version. It's simple and beautiful! Thank you.
ReplyDeleteYou are welcome David :).. I glad that it helps you ...
DeleteThanks
aman
Aman,
DeleteThank you for the script. I need some help modifying the script. I want the script to check a list of servers, and send one simple email that says everything is ok, I do not want it to list every server because the email is really long..Any Suggestions?
Thanks,
Jarrett
HI jarrnett, you are welcome..and i glad that u like the script..
Deletehumm..can u email me so that we can discuss this.. currently i am not sure how to do it, but i think this should be possible.
thanks
aman
Great Script: Simple, Fast, Elegant
ReplyDeleteThank You
You are Welcome Marcio..
Deletethanks
aman
hi aman,
Deletei got email report successfully,
but i need with color like offline pc in red and online pc in green color
Hello Aman,
ReplyDeleteFor some reason every time i run this script, a ps window appears and disappears right away. I'm I missing something? I get no output at all.
why cant I copy and paste the GUI output?
ReplyDeleteI changed the write-host and write-warning to write-output ( I also removed the color selections) and am trying to format to write-output in the "else" statement to save all the failed pings in a text file at c:\errors. Can you advise me of the syntax to do this? I only get the first failed ping in my text file.
ReplyDeleteWrite-output "Server$ " > C:\error.txt
Hi Aman Dhally , can you please explain how can i do a script to ping test 20 servers and get the output via emails , also can i do a ping test to my default gateways which is around 10 of them , please can you help me out . thanks a lot
ReplyDeleteHi,
ReplyDeletePlease share me the script, which can send for the server down from the array list
regards,
Vijay