PING with VBScript and PowerShell


To totally unlock this section you need to Log-in


Login
Here's a sample VBScript code that checks whether a PING test is successful or not. We call the VBScript and pass it a parameter which is the hostname or IP address of the computer we want to ping.

strComputer=Wscript.Arguments.Item(0) 'parameter passed = hostname

wmiQuery = "Select * From Win32_PingStatus Where Address = '" & strComputer & "'"
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set objPing = objWMIService.ExecQuery(wmiQuery)
For Each objStatus In objPing
If IsNull(objStatus.StatusCode) Or objStatus.Statuscode<>0 Then
Reachable = False 'if computer is unreacable, return false
Else
Reachable = True 'if computer is reachable, return true
End If
Next
Wscript.Echo Reachable

Here's the equivalent script using PowerShell:

Param($hostname)

$ping = new-object System.Net.NetworkInformation.Ping
$Reply = $ping.Send($hostname)
$Reply.status

You can see how much easier it is to accomplish a simple task in PowerShell. It makes the life of an administrator much better, especially if you have to write scripts that automate repetitive tasks.