Есть ли простой способ проверить, что сервер существует в сети с VBScript? - PullRequest
3 голосов
/ 26 марта 2010

У меня есть конечная цель определить, работает ли конкретная база данных на определенном сервере с определенными учетными данными, но на этом этапе я бы согласился с возможностью проверить и посмотреть, действительно ли сервер подключен к сети. У кого-нибудь есть способ сделать это? Кажется, я рисую пробел.

Michael

Ответы [ 4 ]

3 голосов
/ 26 марта 2010

попробуйте

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

Возможно, есть и лучшие способы, особенно если вы поставите конечную цель, но это должно сработать и, по крайней мере, указать вам правильное направление.

2 голосов
/ 16 октября 2013

Если вы обновите команду ping, чтобы она отправляла только один эхо-запрос, скрипт выполняется быстрее, если у вас ненадежная сеть, это может быть не лучшим решением, но для локальной сети это полезно.

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
2 голосов
/ 26 марта 2010

Вот альтернативное решение, использующее класс WMI Win32_PingStatus (примечание: этот класс доступен только в Windows XP и более поздних версиях):

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

Дополнительные примеры скриптов ping здесь: Почему мой скрипт Ping не запускается на компьютерах с Windows 2000?

0 голосов
/ 26 марта 2010

Для проверки работоспособности сервера базы данных вы можете использовать такие инструменты, как nmap . Затем вы можете вызвать его в своем VBScript, используя exec (), как обычно.

...