By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,660 Members | 1,560 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,660 IT Pros & Developers. It's quick & easy.

Ping Function for vb2003

P: n/a
I currently use this routine in vbscript to ping computers and get the
status of ping to determine whether to try to backup a machine, I am trying
to change it to work with vb2003.net I am wondering if anyone has a ping
function they could share with me.

I have done some searching on this but cannot find anything specifically for
vb2003.

Sub PingComputer
If PingStatus(PCName) = "Success" Then
RunBackup
End If
End Sub

Function PingStatus(strWorkStation)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strWorkStation & "\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("SELECT * FROM Win32_PingStatus WHERE Address = '" & MachineInfo(0) &
"'")
For Each objPing in colPings
Select Case objPing.StatusCode
Case 0 PingStatus = "Success"
Case 11001 PingStatus = "Ping UnSuccessful -- Buffer Too Small"
Case 11002 PingStatus = "Ping UnSuccessful -- Destination Net
Unreachable"
Case 11003 PingStatus = "Ping UnSuccessful -- Destination Host
Unreachable"
Case 11004 PingStatus = "Ping UnSuccessful -- Destination Protocol
Unreachable"
Case 11005 PingStatus = "Ping UnSuccessful -- Destination Port
Unreachable"
Case 11006 PingStatus = "Ping UnSuccessful -- No Resources"
Case 11007 PingStatus = "Ping UnSuccessful -- Bad Option"
Case 11008 PingStatus = "Ping UnSuccessful -- Hardware Error"
Case 11009 PingStatus = "Ping UnSuccessful -- Packet Too Big"
Case 11010 PingStatus = "Ping UnSuccessful -- Request Timed Out"
Case 11011 PingStatus = "Ping UnSuccessful -- Bad Request"
Case 11012 PingStatus = "Ping UnSuccessful -- Bad Route"
Case 11013 PingStatus = "Ping UnSuccessful -- TimeToLive Expired Transit"
Case 11014 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Reassembly"
Case 11015 PingStatus = "Ping UnSuccessful -- Parameter Problem"
Case 11016 PingStatus = "Ping UnSuccessful -- Source Quench"
Case 11017 PingStatus = "Ping UnSuccessful -- Option Too Big"
Case 11018 PingStatus = "Ping UnSuccessful -- Bad Destination"
Case 11032 PingStatus = "Ping UnSuccessful -- Negotiating IPSEC"
Case 11050 PingStatus = "Ping UnSuccessful -- General Failure"
Case Else PingStatus = "Ping UnSuccessful -- Unable to determine cause of
failure."
End Select
Next
End Function

Thanks In Advance,
Dave Marden
Sep 3 '07 #1
Share this Question
Share on Google+
6 Replies


P: n/a
On 3 Sep, 17:38, "Dave Marden" <newsgr...@mardenfamily.comwrote:
I currently use this routine in vbscript to ping computers and get the
status of ping to determine whether to try to backup a machine, I am trying
to change it to work with vb2003.net I am wondering if anyone has a ping
function they could share with me.

I have done some searching on this but cannot find anything specifically for
vb2003.

Sub PingComputer
If PingStatus(PCName) = "Success" Then
RunBackup
End If
End Sub

Function PingStatus(strWorkStation)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strWorkStation & "\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("SELECT * FROM Win32_PingStatus WHERE Address = '" & MachineInfo(0) &
"'")
For Each objPing in colPings
Select Case objPing.StatusCode
Case 0 PingStatus = "Success"
Case 11001 PingStatus = "Ping UnSuccessful -- Buffer Too Small"
Case 11002 PingStatus = "Ping UnSuccessful -- Destination Net
Unreachable"
Case 11003 PingStatus = "Ping UnSuccessful -- Destination Host
Unreachable"
Case 11004 PingStatus = "Ping UnSuccessful -- Destination Protocol
Unreachable"
Case 11005 PingStatus = "Ping UnSuccessful -- Destination Port
Unreachable"
Case 11006 PingStatus = "Ping UnSuccessful -- No Resources"
Case 11007 PingStatus = "Ping UnSuccessful -- Bad Option"
Case 11008 PingStatus = "Ping UnSuccessful -- Hardware Error"
Case 11009 PingStatus = "Ping UnSuccessful -- Packet Too Big"
Case 11010 PingStatus = "Ping UnSuccessful -- Request Timed Out"
Case 11011 PingStatus = "Ping UnSuccessful -- Bad Request"
Case 11012 PingStatus = "Ping UnSuccessful -- Bad Route"
Case 11013 PingStatus = "Ping UnSuccessful -- TimeToLive Expired Transit"
Case 11014 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Reassembly"
Case 11015 PingStatus = "Ping UnSuccessful -- Parameter Problem"
Case 11016 PingStatus = "Ping UnSuccessful -- Source Quench"
Case 11017 PingStatus = "Ping UnSuccessful -- Option Too Big"
Case 11018 PingStatus = "Ping UnSuccessful -- Bad Destination"
Case 11032 PingStatus = "Ping UnSuccessful -- Negotiating IPSEC"
Case 11050 PingStatus = "Ping UnSuccessful -- General Failure"
Case Else PingStatus = "Ping UnSuccessful -- Unable to determine cause of
failure."
End Select
Next
End Function

Thanks In Advance,
Dave Marden
Try this:

My.Computer.Network.Ping("127.0.0.1")

returns a boolean true or false.

Hope it helps,

Phillip Ross Taylor

Sep 3 '07 #2

P: n/a
I thought that the "MY" keyword was only available in vb2005?

Dave

"Phillip Taylor" <Ph*****************@gmail.comwrote in message
news:11**********************@22g2000hsm.googlegro ups.com...
On 3 Sep, 17:38, "Dave Marden" <newsgr...@mardenfamily.comwrote:
>I currently use this routine in vbscript to ping computers and get the
status of ping to determine whether to try to backup a machine, I am
trying
to change it to work with vb2003.net I am wondering if anyone has a ping
function they could share with me.

I have done some searching on this but cannot find anything specifically
for
vb2003.

Sub PingComputer
If PingStatus(PCName) = "Success" Then
RunBackup
End If
End Sub

Function PingStatus(strWorkStation)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strWorkStation &
"\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("SELECT * FROM Win32_PingStatus WHERE Address = '" & MachineInfo(0) &
"'")
For Each objPing in colPings
Select Case objPing.StatusCode
Case 0 PingStatus = "Success"
Case 11001 PingStatus = "Ping UnSuccessful -- Buffer Too Small"
Case 11002 PingStatus = "Ping UnSuccessful -- Destination Net
Unreachable"
Case 11003 PingStatus = "Ping UnSuccessful -- Destination Host
Unreachable"
Case 11004 PingStatus = "Ping UnSuccessful -- Destination Protocol
Unreachable"
Case 11005 PingStatus = "Ping UnSuccessful -- Destination Port
Unreachable"
Case 11006 PingStatus = "Ping UnSuccessful -- No Resources"
Case 11007 PingStatus = "Ping UnSuccessful -- Bad Option"
Case 11008 PingStatus = "Ping UnSuccessful -- Hardware Error"
Case 11009 PingStatus = "Ping UnSuccessful -- Packet Too Big"
Case 11010 PingStatus = "Ping UnSuccessful -- Request Timed Out"
Case 11011 PingStatus = "Ping UnSuccessful -- Bad Request"
Case 11012 PingStatus = "Ping UnSuccessful -- Bad Route"
Case 11013 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Transit"
Case 11014 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Reassembly"
Case 11015 PingStatus = "Ping UnSuccessful -- Parameter Problem"
Case 11016 PingStatus = "Ping UnSuccessful -- Source Quench"
Case 11017 PingStatus = "Ping UnSuccessful -- Option Too Big"
Case 11018 PingStatus = "Ping UnSuccessful -- Bad Destination"
Case 11032 PingStatus = "Ping UnSuccessful -- Negotiating IPSEC"
Case 11050 PingStatus = "Ping UnSuccessful -- General Failure"
Case Else PingStatus = "Ping UnSuccessful -- Unable to determine cause
of
failure."
End Select
Next
End Function

Thanks In Advance,
Dave Marden

Try this:

My.Computer.Network.Ping("127.0.0.1")

returns a boolean true or false.

Hope it helps,

Phillip Ross Taylor

Sep 3 '07 #3

P: n/a
Another Thing, I would like to be able to keep the functionality of using it
also as a troubleshooting function, ultimately if the ping fails I am
letting the user know why.

Dave
"Phillip Taylor" <Ph*****************@gmail.comwrote in message
news:11**********************@22g2000hsm.googlegro ups.com...
On 3 Sep, 17:38, "Dave Marden" <newsgr...@mardenfamily.comwrote:
>I currently use this routine in vbscript to ping computers and get the
status of ping to determine whether to try to backup a machine, I am
trying
to change it to work with vb2003.net I am wondering if anyone has a ping
function they could share with me.

I have done some searching on this but cannot find anything specifically
for
vb2003.

Sub PingComputer
If PingStatus(PCName) = "Success" Then
RunBackup
End If
End Sub

Function PingStatus(strWorkStation)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strWorkStation &
"\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("SELECT * FROM Win32_PingStatus WHERE Address = '" & MachineInfo(0) &
"'")
For Each objPing in colPings
Select Case objPing.StatusCode
Case 0 PingStatus = "Success"
Case 11001 PingStatus = "Ping UnSuccessful -- Buffer Too Small"
Case 11002 PingStatus = "Ping UnSuccessful -- Destination Net
Unreachable"
Case 11003 PingStatus = "Ping UnSuccessful -- Destination Host
Unreachable"
Case 11004 PingStatus = "Ping UnSuccessful -- Destination Protocol
Unreachable"
Case 11005 PingStatus = "Ping UnSuccessful -- Destination Port
Unreachable"
Case 11006 PingStatus = "Ping UnSuccessful -- No Resources"
Case 11007 PingStatus = "Ping UnSuccessful -- Bad Option"
Case 11008 PingStatus = "Ping UnSuccessful -- Hardware Error"
Case 11009 PingStatus = "Ping UnSuccessful -- Packet Too Big"
Case 11010 PingStatus = "Ping UnSuccessful -- Request Timed Out"
Case 11011 PingStatus = "Ping UnSuccessful -- Bad Request"
Case 11012 PingStatus = "Ping UnSuccessful -- Bad Route"
Case 11013 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Transit"
Case 11014 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Reassembly"
Case 11015 PingStatus = "Ping UnSuccessful -- Parameter Problem"
Case 11016 PingStatus = "Ping UnSuccessful -- Source Quench"
Case 11017 PingStatus = "Ping UnSuccessful -- Option Too Big"
Case 11018 PingStatus = "Ping UnSuccessful -- Bad Destination"
Case 11032 PingStatus = "Ping UnSuccessful -- Negotiating IPSEC"
Case 11050 PingStatus = "Ping UnSuccessful -- General Failure"
Case Else PingStatus = "Ping UnSuccessful -- Unable to determine cause
of
failure."
End Select
Next
End Function

Thanks In Advance,
Dave Marden

Try this:

My.Computer.Network.Ping("127.0.0.1")

returns a boolean true or false.

Hope it helps,

Phillip Ross Taylor

Sep 3 '07 #4

P: n/a
Dave,

Probably it is in 2005 because there is so many often asked for it in when
2003 was the latest version. However you can do use the application.run to
do it in a kind of workaround.

The sample is not in it, however can go in the same way as this.

http://www.vb-tips.com/StartProcess.aspx

Cor

"Dave Marden" <ne*******@mardenfamily.comschreef in bericht
news:On**************@TK2MSFTNGP02.phx.gbl...
>I thought that the "MY" keyword was only available in vb2005?

Dave

"Phillip Taylor" <Ph*****************@gmail.comwrote in message
news:11**********************@22g2000hsm.googlegro ups.com...
>On 3 Sep, 17:38, "Dave Marden" <newsgr...@mardenfamily.comwrote:
>>I currently use this routine in vbscript to ping computers and get the
status of ping to determine whether to try to backup a machine, I am
trying
to change it to work with vb2003.net I am wondering if anyone has a ping
function they could share with me.

I have done some searching on this but cannot find anything specifically
for
vb2003.

Sub PingComputer
If PingStatus(PCName) = "Success" Then
RunBackup
End If
End Sub

Function PingStatus(strWorkStation)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strWorkStation &
"\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("SELECT * FROM Win32_PingStatus WHERE Address = '" & MachineInfo(0) &
"'")
For Each objPing in colPings
Select Case objPing.StatusCode
Case 0 PingStatus = "Success"
Case 11001 PingStatus = "Ping UnSuccessful -- Buffer Too Small"
Case 11002 PingStatus = "Ping UnSuccessful -- Destination Net
Unreachable"
Case 11003 PingStatus = "Ping UnSuccessful -- Destination Host
Unreachable"
Case 11004 PingStatus = "Ping UnSuccessful -- Destination Protocol
Unreachable"
Case 11005 PingStatus = "Ping UnSuccessful -- Destination Port
Unreachable"
Case 11006 PingStatus = "Ping UnSuccessful -- No Resources"
Case 11007 PingStatus = "Ping UnSuccessful -- Bad Option"
Case 11008 PingStatus = "Ping UnSuccessful -- Hardware Error"
Case 11009 PingStatus = "Ping UnSuccessful -- Packet Too Big"
Case 11010 PingStatus = "Ping UnSuccessful -- Request Timed Out"
Case 11011 PingStatus = "Ping UnSuccessful -- Bad Request"
Case 11012 PingStatus = "Ping UnSuccessful -- Bad Route"
Case 11013 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Transit"
Case 11014 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Reassembly"
Case 11015 PingStatus = "Ping UnSuccessful -- Parameter Problem"
Case 11016 PingStatus = "Ping UnSuccessful -- Source Quench"
Case 11017 PingStatus = "Ping UnSuccessful -- Option Too Big"
Case 11018 PingStatus = "Ping UnSuccessful -- Bad Destination"
Case 11032 PingStatus = "Ping UnSuccessful -- Negotiating IPSEC"
Case 11050 PingStatus = "Ping UnSuccessful -- General Failure"
Case Else PingStatus = "Ping UnSuccessful -- Unable to determine
cause of
failure."
End Select
Next
End Function

Thanks In Advance,
Dave Marden

Try this:

My.Computer.Network.Ping("127.0.0.1")

returns a boolean true or false.

Hope it helps,

Phillip Ross Taylor

Sep 4 '07 #5

P: n/a
Dave,

Probably it is in 2005 because there is so many often asked for it in when
2003 was the latest version. However you can do use the application.run to
do it in a kind of workaround.

The sample is not in it, however can go in the same way as this.

http://www.vb-tips.com/StartProcess.aspx

Cor
"Dave Marden" <ne*******@mardenfamily.comschreef in bericht
news:eQ**************@TK2MSFTNGP06.phx.gbl...
>I currently use this routine in vbscript to ping computers and get the
status of ping to determine whether to try to backup a machine, I am trying
to change it to work with vb2003.net I am wondering if anyone has a ping
function they could share with me.

I have done some searching on this but cannot find anything specifically
for vb2003.

Sub PingComputer
If PingStatus(PCName) = "Success" Then
RunBackup
End If
End Sub

Function PingStatus(strWorkStation)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strWorkStation & "\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("SELECT * FROM Win32_PingStatus WHERE Address = '" & MachineInfo(0) &
"'")
For Each objPing in colPings
Select Case objPing.StatusCode
Case 0 PingStatus = "Success"
Case 11001 PingStatus = "Ping UnSuccessful -- Buffer Too Small"
Case 11002 PingStatus = "Ping UnSuccessful -- Destination Net
Unreachable"
Case 11003 PingStatus = "Ping UnSuccessful -- Destination Host
Unreachable"
Case 11004 PingStatus = "Ping UnSuccessful -- Destination Protocol
Unreachable"
Case 11005 PingStatus = "Ping UnSuccessful -- Destination Port
Unreachable"
Case 11006 PingStatus = "Ping UnSuccessful -- No Resources"
Case 11007 PingStatus = "Ping UnSuccessful -- Bad Option"
Case 11008 PingStatus = "Ping UnSuccessful -- Hardware Error"
Case 11009 PingStatus = "Ping UnSuccessful -- Packet Too Big"
Case 11010 PingStatus = "Ping UnSuccessful -- Request Timed Out"
Case 11011 PingStatus = "Ping UnSuccessful -- Bad Request"
Case 11012 PingStatus = "Ping UnSuccessful -- Bad Route"
Case 11013 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Transit"
Case 11014 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Reassembly"
Case 11015 PingStatus = "Ping UnSuccessful -- Parameter Problem"
Case 11016 PingStatus = "Ping UnSuccessful -- Source Quench"
Case 11017 PingStatus = "Ping UnSuccessful -- Option Too Big"
Case 11018 PingStatus = "Ping UnSuccessful -- Bad Destination"
Case 11032 PingStatus = "Ping UnSuccessful -- Negotiating IPSEC"
Case 11050 PingStatus = "Ping UnSuccessful -- General Failure"
Case Else PingStatus = "Ping UnSuccessful -- Unable to determine cause
of failure."
End Select
Next
End Function

Thanks In Advance,
Dave Marden
Sep 4 '07 #6

P: n/a
Thanks Works excellent for what I am doing.

Dave Marden
"Cor Ligthert[MVP]" <no************@planet.nlwrote in message
news:70**********************************@microsof t.com...
Dave,

Probably it is in 2005 because there is so many often asked for it in when
2003 was the latest version. However you can do use the application.run to
do it in a kind of workaround.

The sample is not in it, however can go in the same way as this.

http://www.vb-tips.com/StartProcess.aspx

Cor
"Dave Marden" <ne*******@mardenfamily.comschreef in bericht
news:eQ**************@TK2MSFTNGP06.phx.gbl...
>>I currently use this routine in vbscript to ping computers and get the
status of ping to determine whether to try to backup a machine, I am
trying to change it to work with vb2003.net I am wondering if anyone has a
ping function they could share with me.

I have done some searching on this but cannot find anything specifically
for vb2003.

Sub PingComputer
If PingStatus(PCName) = "Success" Then
RunBackup
End If
End Sub

Function PingStatus(strWorkStation)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strWorkStation &
"\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("SELECT * FROM Win32_PingStatus WHERE Address = '" & MachineInfo(0) &
"'")
For Each objPing in colPings
Select Case objPing.StatusCode
Case 0 PingStatus = "Success"
Case 11001 PingStatus = "Ping UnSuccessful -- Buffer Too Small"
Case 11002 PingStatus = "Ping UnSuccessful -- Destination Net
Unreachable"
Case 11003 PingStatus = "Ping UnSuccessful -- Destination Host
Unreachable"
Case 11004 PingStatus = "Ping UnSuccessful -- Destination Protocol
Unreachable"
Case 11005 PingStatus = "Ping UnSuccessful -- Destination Port
Unreachable"
Case 11006 PingStatus = "Ping UnSuccessful -- No Resources"
Case 11007 PingStatus = "Ping UnSuccessful -- Bad Option"
Case 11008 PingStatus = "Ping UnSuccessful -- Hardware Error"
Case 11009 PingStatus = "Ping UnSuccessful -- Packet Too Big"
Case 11010 PingStatus = "Ping UnSuccessful -- Request Timed Out"
Case 11011 PingStatus = "Ping UnSuccessful -- Bad Request"
Case 11012 PingStatus = "Ping UnSuccessful -- Bad Route"
Case 11013 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Transit"
Case 11014 PingStatus = "Ping UnSuccessful -- TimeToLive Expired
Reassembly"
Case 11015 PingStatus = "Ping UnSuccessful -- Parameter Problem"
Case 11016 PingStatus = "Ping UnSuccessful -- Source Quench"
Case 11017 PingStatus = "Ping UnSuccessful -- Option Too Big"
Case 11018 PingStatus = "Ping UnSuccessful -- Bad Destination"
Case 11032 PingStatus = "Ping UnSuccessful -- Negotiating IPSEC"
Case 11050 PingStatus = "Ping UnSuccessful -- General Failure"
Case Else PingStatus = "Ping UnSuccessful -- Unable to determine cause
of failure."
End Select
Next
End Function

Thanks In Advance,
Dave Marden

Sep 4 '07 #7

This discussion thread is closed

Replies have been disabled for this discussion.