我想检查一下,在Windows7上是否使用PowerShell v5.1打开了端口。
在带有PowerShell v5.1的Windows 10笔记本电脑上,我可以使用
Test-NetConnection -ComputerName <IP> -Port <Port>
但是,在我的Windows7笔记本电脑上找不到Test-NetConnection
cmdlet。我有可用的Test-Connection
,但是cmdlet不允许我指定端口。
在Windows7上是否有一种使用PowerShell 5.1测试网络端口是否打开的方法?我怎样才能拿回Test-NetConnection
cmdlet?
发布于 2017-01-14 04:13:50
这是更多的胡闹,但这是可以做到的。ScriptingGuy已经在这里做过了。他还在开始时加了一次平扫。
减少以下版本。如果不想使用变量,只需手动输入IP和端口即可。
$socket = New-Object System.Net.Sockets.TcpClient($ip, $port)
if($socket.Connected) {
"$ip listening to port $port"
$socket.Close()
}
测试-NetConnection在Win7中不可用提供了使用Win7的Test-NetConnection
的答案。
谢谢蒂姆。
发布于 2017-01-14 11:21:20
由于当端口未打开时,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"
}
https://stackoverflow.com/questions/41645763
复制相似问题