开发者

Is there an easy way to verify that a server exists on a network with VBScript?

开发者 https://www.devze.com 2022-12-24 12:35 出处:网络
I have the eventual goal of determining that a particular database on a particular server with particular credentials is running, but I would settle, at th开发者_如何学Pythonis point, for the ability

I have the eventual goal of determining that a particular database on a particular server with particular credentials is running, but I would settle, at th开发者_如何学Pythonis point, for the ability to check and see if a server is actually up on the network. Does anyone have a way of doing this? I seem to be drawing a blank.

Michael


try this

Dim target
Dim result

target= "172.19.130.96"

Set shell = WScript.CreateObject("WScript.Shell")

Set shellexec = shell.Exec("ping " & target) 

result = LCase(shellexec.StdOut.ReadAll)

If InStr(result , "reply from") Then
  WScript.Echo "Server alive"  
Else
  WScript.Echo "Not Alive"
End If

There maybe better ways especialy given you end goal but this should work and at least point you in the correct direction.


Here's an alternative solution that uses the Win32_PingStatus WMI class (note: this class is only available on Windows XP and later):

strServer = "stackoverflow.com"

Set oWMI = GetObject("winmgmts:\\.\root\cimv2")
Set oPing = oWMI.Get("Win32_PingStatus.Address='"& strServer & "'")

If oPing.StatusCode = 0 Then 
   WScript.Echo "Server is available."
Else
   WScript.Echo "Server is not available."
End If

More ping script samples here: Why Doesn't My Ping Script Run on Windows 2000 Computers?


If you update the ping command so it only sends one echo request the script executes faster, if you've got an unreliable network this might not be best but for local LAN it's useful.

Dim target
Dim result

target= "172.19.130.96"

Set shell = WScript.CreateObject("WScript.Shell")

Set shellexec = shell.Exec("ping -n 1 " & target)

result = LCase(shellexec.StdOut.ReadAll)

If InStr(result , "reply from") Then
  WScript.Echo "Server alive"  
Else
  WScript.Echo "Not Alive"
End If


For checking whether your database server is up, you can use tools like nmap. Then you can call it in your vbscript using exec() as per normal.

0

精彩评论

暂无评论...
验证码 换一张
取 消