2
我试图通过端口进行TCP连接来检查端口是否打开。如何通过不同的端口建立多个TCP连接?
Param (
[string] $IPAddress,
$Ports
)
$t = New-Object Net.Sockets.TcpClient
$PortArray= $Ports -split ","
Foreach ($Port in $PortArray) {
$t.Connect($Ipaddress,$Port)
if($t.Connected)
{
"Port $Port is operational"
}
else
{
"Port $Port is Not opened . Request port access via IT support team. "
}
$t.Close()
}
我调用了下面的函数。
PS D:\PowerCLi-Scripts> .\Is-PortOpened.ps1 -IPAddress "193.44.35.234" -Port ("443,902,903")
当连接到第二个和第三个端口时,它会抛出如下错误。
异常调用 “连接” 与 “2” 参数(S):“无法访问 处置OBJ ECT
虽然我已经给了$ t.close()我仍然面临着。的问题。
有人可以帮我解决这个问题?
请注意,您不需要将'Ports'声明为一个字符串,然后将其分割为一个数组。将它声明为一个数组,以便使用 - [[string []] $ Ports',并且调用脚本像'-Ports 443,902,903'或'-Ports'443','902','903'' – latkin
@latkin谢谢buddy 。我在脚本中添加了您的建议更改。现在看起来不错。 – Samselvaprabu