Тема: VBS: WMI аналог "netstat -ano"
Добрый день.
Искал в интернетах и зашёл в тупик.
Изначальная задача - найти IP сервера, зная, PID процесса, который к нему подключен.
В данный момент это реализовано таким образом
Function GetFBDServerIP(Pid)
fIP = ""
Set shExec = WshShell.Exec("cmd /c netstat -ano|Find "":3050""|Find """ & Pid & """")
While (Not shExec.StdOut.AtEndOfStream) And fIP = ""
Str = shExec.StdOut.ReadLine()
If Right(Str, Len(Pid)) = Pid & "" Then
SplitStr = Split(Str, " ")
i = 0
While i < UBound(SplitStr) And fIP = ""
If InStr(SplitStr(i), ":3050") <> 0 Then fIP = Replace(SplitStr(i), ":3050", "")
i = i + 1
WEnd
End If
WEnd
GetFBDServerIP = fIP
End Function
Прошу не судить за код строго, я считаю его времянкой, пока не найду более удачного решения.
В этой реализации смущает чёрное окно командной строки, появляющееся на мгновение.
Быть может спаяно железом лишь и кровью"…
Но мы попробуем спаять его любовью,-
А там увидим, что прочней… (Ф. Тютчев) Тут хорошая справка по vbs.

