Powershell 显示端口连接并仅过滤关闭的端口
Powershell show ports connection and filter only closed ports
我有这张小纸条。
$portnumbers=2000,2001,80,81,21,30300,30301,30302,30303,6000,6001,6002,600
$Ipaddress= "127.0.0.1"
foreach($p in $portnumbers ){
Test-OpenPort -Port $p | Select port,status | Format-Table
}
输出是:
Port Status
---- ------
2000 False
Port Status
---- ------
2001 False
Port Status
---- ------
80 True
Port Status
---- ------
81 False
Port Status
---- ------
21 False
Port Status
---- ------
30300 False
我想以不同的方式得到这个结果,当端口关闭时,所以我想接收一些消息端口“端口号”已关闭 - 红色
当它打开时,端口“portnumber”打开。
然后按摩说“这是关闭的端口:”
喜欢夏天.
你能帮帮我吗?
您可以将 Write-Host
与 -ForegroundColor
参数一起使用:
Write-Host "Port 123 is closed!" -ForgroundColor Red
要select 基于Status
属性 值的不同背景颜色和消息,您可以在循环内使用一个简单的if
语句:
$portnumbers=2000,2001,80,81,21,30300,30301,30302,30303,6000,6001,6002,600
$Ipaddress= "127.0.0.1"
foreach($p in $portnumbers ){
$portTestResult = Test-OpenPort -Port $p | Select Port,Status
if($portTestResult.Status){
Write-Host "Port $p is open" -ForegroundColor Green
}
else{
Write-Host "Port $p is closed" -ForegroundColor Red
}
}
Mathias 先于我,但如果您还想要关闭端口的摘要,请将循环的关闭结果捕获到一个变量中并随后显示。
类似
$closed = foreach($p in $portnumbers ){
$result = Test-OpenPort -Port $p
if ($result.Status) { Write-Host "Port $p is open" }
else { Write-Host "Port $p is closed" -ForegroundColor Red ; $p}
}
# summary
"`r`nThese ports are closed:`r`n{0}" -f ($closed -join "`r`n")
我有这张小纸条。
$portnumbers=2000,2001,80,81,21,30300,30301,30302,30303,6000,6001,6002,600
$Ipaddress= "127.0.0.1"
foreach($p in $portnumbers ){
Test-OpenPort -Port $p | Select port,status | Format-Table
}
输出是:
Port Status
---- ------
2000 False
Port Status
---- ------
2001 False
Port Status
---- ------
80 True
Port Status
---- ------
81 False
Port Status
---- ------
21 False
Port Status
---- ------
30300 False
我想以不同的方式得到这个结果,当端口关闭时,所以我想接收一些消息端口“端口号”已关闭 - 红色 当它打开时,端口“portnumber”打开。
然后按摩说“这是关闭的端口:” 喜欢夏天.
你能帮帮我吗?
您可以将 Write-Host
与 -ForegroundColor
参数一起使用:
Write-Host "Port 123 is closed!" -ForgroundColor Red
要select 基于Status
属性 值的不同背景颜色和消息,您可以在循环内使用一个简单的if
语句:
$portnumbers=2000,2001,80,81,21,30300,30301,30302,30303,6000,6001,6002,600
$Ipaddress= "127.0.0.1"
foreach($p in $portnumbers ){
$portTestResult = Test-OpenPort -Port $p | Select Port,Status
if($portTestResult.Status){
Write-Host "Port $p is open" -ForegroundColor Green
}
else{
Write-Host "Port $p is closed" -ForegroundColor Red
}
}
Mathias 先于我,但如果您还想要关闭端口的摘要,请将循环的关闭结果捕获到一个变量中并随后显示。
类似
$closed = foreach($p in $portnumbers ){
$result = Test-OpenPort -Port $p
if ($result.Status) { Write-Host "Port $p is open" }
else { Write-Host "Port $p is closed" -ForegroundColor Red ; $p}
}
# summary
"`r`nThese ports are closed:`r`n{0}" -f ($closed -join "`r`n")