批量测试服务器网络端口脚本

#PS C:\Users\admin.MYAD\Desktop> .\test.ps1 -Dir C:\Users\admin.MYAD\Desktop\test.txt -Port 443

param($Dir,$Port)

function Test-PortAlive {
[CmdletBinding()]
[OutputType([System.boolean])]
param(
[Parameter(ValueFromPipeline=$true)][System.String[]]$server,
[int]$port
)

$socket = new-object Net.Sockets.TcpClient
$connect = $socket.BeginConnect($server, $port, $null, $null)
$NoTimeOut = $connect.AsyncWaitHandle.WaitOne(500, $false)

if ($NoTimeOut) {
    $socket.EndConnect($connect) | Out-Null
    return $true               
}
else {
    return $false
}

}

$DesktopPath=[Environment]::GetFolderPath("Desktop")+"\"
#echo $DesktopPath

$today=Get-Date
$LogFile=$DesktopPath+($today.ToString('yyyy-MM-dd'))+".txt"
#echo $LogFile

$TxtCon=Get-Content($Dir)

foreach($LineCon in $TxtCon)
{

if(Test-PortAlive -port $Port $LineCon)
{
echo ("TCP Connect "+$LineCon+":"+$Port+" successful") | Out-File -Append $LogFile
}
else
{
echo ("TCP Connect "+$LineCon+":"+$Port+" fail") | Out-File -Append $LogFile
}

}

转载于:https://blog.51cto.com/642364/2380446

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值