我正在尝试检查某个软件的前提条件。我有一组脚本可以检查磁盘空间,内存可用性等内容。
我需要创建一个脚本,可以检查某些端口是否可以打开和访问。我使用WMI检查其他网络配置项,但找不到任何检查端口可用性的参考。
任何人都有任何想法,我可以在哪里找到WMI构造,让我查看和管理端口或任何其他想法,以了解如何构建新脚本以检查端口可用性?
答案 0 :(得分:3)
所以我找到了一个人曾经做过的剧本。它使用netStat。应该适用于任何Windows机器。我想我对使用WMI的愿望感到蒙蔽。
Sub PortMonitor (strCommand2)
Set StdOut = WScript.StdOut
Set objShell = CreateObject("WScript.Shell")
set objScriptExec = objShell.Exec (strCommand2)
strPingResults = LCase(objScriptExec.StdOut.ReadAll)
if len (strPingResults) > 0 then
WScript.Echo "Established!"
End if
end Sub
Dim strcommand
strCommand = "cmd /C ""netStat -n |find ""127.0.0.1:1137"" | find ""ESTABLISHED"""""
Call PortMonitor (strCommand)
OP:http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/2003_Server/Q_27476065.html#
答案 1 :(得分:1)
使用cmd.exe
和netstat
:
D:\ :: type openports.bat
@echo off
for /f "tokens=2" %%i in ('netstat -an -p tcp ^| findstr ABH') do (
for /f "delims=: tokens=2" %%p in ("%%i") do (
echo %%p
)
)
D:\ :: openports.bat
80
135
445
...
请注意,这适用于版本为netstat
的德语版ABHÖREN
;对于英语版本,它可能类似LISTENING
,因此您必须将findstr ABH
替换为适当的英语表达式。