从脚本检查开放的 rdp 端口

从脚本检查开放的 rdp 端口

我需要找出哪些服务器端口正在监听端口 3389。我必须检查 2500 台服务器(其中一些位于不同的 VLAN 中),以确保远程桌面已启用。

可以使用 netstat 检查这一点并针对 IP 范围使用吗?或者最好使用 powershell 命令

新对象 system.net.sockets.TCPclientList xsevernamex, 3389

答案1

nmap非常适合这个:

nmap -v -p 3389 -iL list-of-hosts.txt -oX results.xml

将生成一个您可以通过编程来解析的 XML 文件,但也存在其他输出选项。

答案2

我更喜欢 powershell。如果需要任何调整,请告诉我。input.txt 只是计算机列表。

$computers = Import-Csv input.txt -Header "Name" 
$output = @()

$computers | ForEach-Object {
    $current = "" | Select-Object "Name","RdpOpen"
    $result = Test-NetConnection $_.Name -CommonTCPPort RDP 

    $current.Name = $_.Name
    $current.RdpOpen = $result.TcpTestSucceeded
    $output += $current
}

$output | Export-Csv output.csv -NoTypeInformation

相关内容