我想检查一下端口是否在Windows 7上使用PowerShell v5.1打开。
在我的Windows 10笔记本电脑上使用PowerShell v5.1我可以使用
Test-NetConnection -ComputerName <IP> -Port <Port>
但是,在我的Windows 7笔记本电脑上找不到Test-NetConnection
cmdlet。我有Test-Connection
可用,但该cmdlet不允许我指定端口。
Windows 7上是否有方法使用PowerShell 5.1来测试网络端口是否已打开?如何获取Test-NetConnection
cmdlet?
答案 0 :(得分:3)
它有点麻烦但可以做到。 here已经在这里完成了。他还在开始时添加ping扫描。
下面的版本。如果您不想使用变量,只需手动输入IP和端口即可。
Test-NetConnection
ScriptingGuy
得到gnu
使用Win7的答案。
谢谢,蒂姆。
答案 1 :(得分:3)
由于System.Net.Sockets.TcpClient
似乎在端口未打开时抛出错误,我宁愿在这里使用try/catch
:
$ip = "127.0.0.1"
$port = "80"
try {
$socket = New-Object System.Net.Sockets.TcpClient($ip, $port)
if($socket.Connected) {
"success"
$socket.Close()
}
} catch {
"error"
}