让我们深入了解如何构建一个 PowerShell 测试端口工具,该工具允许您通过端口号和标签测试开放端口。
构建一个健壮的脚本,以确保在一半的服务器上不会出现问题,首先确保满足您所需的前提条件非常重要。
这些前提条件是什么?前提条件包括 FTP、HTTP、DCOM、WMI、WSMAN 等服务。您尝试连接到服务器的连接通常取决于这些服务。
在尝试建立连接之前,您可以在服务器上执行几个层次的检查层次结构,具体取决于您想要的严格程度。
首先,您需要在网络端遍历整个 OSI 栈。这还不包括您从中执行脚本的主机系统上的服务以及远程主机系统上的其他所有内容。
在查询远程服务器时,您需要执行的第一个测试之一是检查确保适当的网络端口是打开并可访问的。根据远程服务器上运行的服务不同,您需要查询的端口也不同。
I always used to either not even attempting to test port connections or fumbling around with finding that latest Test-Port script I had scavenged somewhere. Once I found it to figure out what ports I actually needed to a test ahead of time. Today was the final straw.
I needed to query a set of domain controllers before running some CIM queries against them. I went about my normal fumbling around and decided enough was enough and sat down and built my own, fully featured port testing script.
借助这个 Technet 脚本 的帮助,我成功创建了一对非常好的 PowerShell 函数,不仅可以让您测试开放的 TCP 和 UDP 端口,还可以按服务器角色测试端口组。不再需要每次都搜索哪个服务使用了哪些端口了!
已授予,特别是对于Active Directory,端口可以根据服务器操作系统、域控制器上的各种服务等而变化。随时根据您的环境进行调整。
这是一个使用示例的屏幕主机:

正如您所见,您可以指定任意多个服务器,它将输出一个漂亮的对象列表,按服务端口组和每台计算机的端口进行分解。到目前为止,它非常方便!希望您能像我一样从中受益!