【OPM】vbs脚本验证操作系统中的端口开放情况

【OPM】vbs脚本验证操作系统中的端口开放情况

代码脚本为验证非本机端口情况
代码:
On Error Resume Next

' 创建一个WbemLocator对象
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
if Err.Number Then
    WScript.Echo "Message:" & Err.Description
    WScript.Quit(1)
End If

Select Case WScript.Arguments.Count
Case 3
    strComputer = Wscript.Arguments(0)
    strUsername = Wscript.Arguments(1)
    strPassword = Wscript.Arguments(2)
    Set wbemServices = objWbemLocator.ConnectServer(strComputer, "Root\CIMV2", strUsername, strPassword)

Case Else
    WScript.Echo "Message: Error in number of parameters passed"
    WScript.Quit(1)
End Select

If Err.Number Then
    WScript.Echo "Message:" & Err.Description
    WScript.Quit(1)
End If

' 指定要检查的端口范围
intStartPort = 1
intEndPort = 65535

' 检查每个端口是否开放
For intPort = intStartPort to intEndPort
    ' 创建一个TCP连接对象
    Set objTCP = CreateObject("MSWinsock.Winsock")
    
    ' 设置超时时间为1秒
    objTCP.ReceiveTimeout = 1000
    
    ' 尝试连接端口
    objTCP.Connect(strComputer, intPort)
    
    ' 检查连接状态
    If objTCP.State = 7 Then
        strPortStatus = "Open"
    Else
        strPortStatus = "Closed"
    End If
    
    ' 输出端口状态
    WScript.Echo "Port " & intPort & ": " & strPortStatus
    
    ' 关闭TCP连接
    objTCP.Close
Next

WScript.Quit(0)

使用方法:
1、创建.vbs文件,将代码粘贴并保存。
2、以管理员身份打开命令提示符。
3、进入文件所在文件夹。
4、执行该代码(注意空格):cscript CheckPorts.vbs <主机名> <账户名称> <账户密码> 
5、如提示无访问权限,需要在目标主机页面进行如下操作:
      Windows+r 输入dcomcnfg.exe打开组件服务
      组件服务--计算机--我的电脑。
      右键“属性”--“com安全”
      访问权限--编辑限制--对“ ANONYMOUS LOGON” 的远程访问选择允许
      启动和激活权限>编辑限制添加 4个允许给用户







    • Related Articles

    • OpManager使用的端口

      请参阅标题“端口要求”下提到的详细信息 ​https://www.manageengine.cn/network-monitoring/help/hardware-and-software-requirements.html​
    • Applications Manager在启动时退出,并显示消息“Applications Manager所需的端口:9090正被其他应用程序使用。请释放端口并重新启动Appliacations Manager。”

      原因一:Applications Manager启动时,它的Web服务器 (Apache) 默认在9090端口启动。如果端口被其他应用程序占用,您将无法启动Applications Manager。 原因 2:您已关闭了Applications Manager并尝试重新启动它,但它的MySQL或Apache服务器仍在运行。检查是否有任何其他应用程序使用相同的端口号和/或MySQL和Apache是否在关闭Applications Manager后仍在运行。如果是这样: • ...
    • EventLog Analyzer中在配置时需要开放哪些端口?

      请查看以下链接,对于启用端口的详细解释: https://www.manageengine.com/products/eventlog/help/StandaloneManagedServer-UserGuide/SetuptheProduct/eventlog-prerequisites.html
    • 【APM】更改http&https端口步骤

      Applications Manager 默认 http 和 https 访问都是开启的,在安装时可以选择端口。 默认端口http为 9090,https 为 8443。 变更端口的操作步骤如下: 1.停止Applications Manager服务。 2.登录安装Applications Manager的服务器,打开AppManager/conf文件夹,编辑AMServer.properties文件。 (1)如需更改 http ...
    • Azure SQL数据库 - 在端口1433上与主机<Azure SQL服务器>的TCP/IP连接失败

      “与数据库的连接失败并出现错误:与主机 <Azure SQL 服务器>、端口1433的TCP/IP连接失败。错误:“连接超时:没有更多信息。验证连接属性。确保SQL Server实例在主机上运行并在端口接受TCP/IP连接。确保与端口的TCP连接没有被防火墙阻止。""  - Azure SQL数据库监视器的详细信息页面/编辑监视器页面中的错误消息  解决方案 允许Appmanager机器上的端口1433进行传出访问,以便它访问SQL数据库