2012-05-15 44 views
1

我試圖檢查某個軟件的先決條件。我有一組腳本可用來檢查諸如磁盤空間,內存可用性等。用於檢查Windows中端口可用性的VBS腳本

我需要創建一個腳本來檢查某些端口是否可以打開和訪問。我正在使用WMI來檢查其他網絡配置項目,但無法找到任何檢查端口可用性的參考。

任何人有任何想法,我可以找到一個WMI構造,讓我查看和管理端口或任何其他想法如何構建一個新的腳本來檢查端口可用性?

+0

爲了清楚起見,在「在當前機器上」添加問題標題後綴。我正在尋找同樣的東西,但在開始客戶端進程之前,需要測試遠程計算機上可用的端口。 –

回答

2

所以我找到了一段時間以前有人制作過的劇本。它使用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

使用cmd.exenetstat

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