Проверка открытых портов rdp из сценария

Мне нужно выяснить, какие серверные порты прослушивают порт 3389. Мне нужно проверить 2500 серверов, некоторые из которых находятся в разных vlan, чтобы убедиться, что удаленный рабочий стол включен.

Можно ли использовать netstat для проверки этого и использовать его для диапазона IP-адресов .. или лучше всего использовать команду powershell

new-object system.net.sockets.TCPclientList xsevernamex, 3389

0
задан 25 April 2017 в 17:57
2 ответа

nmap отлично подходит для этого: В результате

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

получится файл XML, который можно будет разобрать программно, но существуют и другие опции вывода.

0
ответ дан 4 December 2019 в 16:16

Я предпочитаю паутинную оболочку. Дайте мне знать, если это потребует каких-либо настроек. 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
1
ответ дан 4 December 2019 в 16:16

Теги

Похожие вопросы