powershell 批量测试ip 端口 脚本

方案1

定义IP地址和端口列表

$ips = @(

"192.168.1.75",

"192.168.1.76",

)

$ports = @(1433,80)

$timeout = 500 # 毫秒

创建结果数组

$results = @()

foreach (ip in ips) {

foreach (port in ports) {

try {

$client = New-Object System.Net.Sockets.TcpClient

connect = client.BeginConnect(ip, port, null, null)

wait = connect.AsyncWaitHandle.WaitOne($timeout) # 等待连接,超时为500毫秒

if ($wait) {

client.EndConnect(connect) # 完成连接

$status = "Open"

} else {

$status = "Timeout" # 超时视为关闭或不可达

}

$client.Close() # 关闭客户端连接

$results += [PSCustomObject]@{

IP = $ip

Port = $port

Status = $status

}

} catch {

$results += [PSCustomObject]@{

IP = $ip

Port = $port

Status = "Error"

ErrorMessage = $_.Exception.Message

}

}

}

}

输出结果

$results | Format-Table -AutoSize

方案2

$computers = "192.168.1.75 # 要测试的计算机列表

$ports = "1433" # 要测试的端口列表

foreach (computer in computers) {

foreach (port in ports) {

result = Test-NetConnection -ComputerName computer -Port $port -InformationLevel Quiet

if (result -eq true) {

Write-Host "computer : Port port is open" -ForegroundColor Green

} else {

Write-Host "computer : Port port is closed" -ForegroundColor Red

}

}

}

相关推荐
何中应5 分钟前
如何给虚拟机系统扩容
linux·运维·服务器
朦胧之6 分钟前
AI 编程工具使用浅谈
前端·后端
柳杉11 分钟前
HTML-in-Canvas:让 Canvas 完美渲染 HTML 的 Web 新标准
前端·javascript
雪的季节15 分钟前
qt信号槽跨线程使用时候的坑
java·开发语言·qt
cTz6FE7gA18 分钟前
WebGL实战:用Three.js创建3D场景,实现沉浸式Web体验
前端·javascript·webgl
chh56320 分钟前
C++--内存管理
java·c语言·c++·windows·学习·面试
We་ct29 分钟前
LeetCode 69. x 的平方根:两种解法详解
前端·javascript·算法·leetcode·typescript·平方
白緢38 分钟前
嵌入式 Linux + 内核开发高频问题及排查
java·linux·运维
学编程就要猛39 分钟前
JavaEE初阶:网络编程
运维·服务器·网络
qq. 280403398444 分钟前
数据结构引论
前端·数据结构