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