Любому администратору периодически приходится проверять доступность службы на удаленном сервере путем проверки ответа от удаленного TCP порта. Причем, все привыкли, что такую проверку быстрее всего выполнить с помощью команды telnet. Например, для проверки доступности SMTP службы ( по умолчанию отвечает на 25 TCP порту) на почтовом сервере достаточно выполнить команду telnet msk-msg01.winitpro.ru 25. Но начиная с Windows 7 клиент telnet выделен в отдельный компонент, который нужно устанавливать отдельно. Посмотрим, как выполнить аналогичное действие в PowerShell.
TCP Port Ping с помощью PowerShell
Готовый командлет для проверки сетевого соединения — Test-NetConnection – появился в PowerShell 4.0 (Windows 2012 R2, Windows 8.1и выше). Входит он в модуль NetTCPIP.
TCP Port Ping с помощью PowerShell.
Совет. Проверить текущую установленную версию PowerShell можно командой $PSVersionTable.PSVersion
Значение 4 в столбце Major говорит о том, что на компьютере установлен PowerShell 4.0.
Проверим, открыт ли порт TCP 25 (SMTP протокол) на почтовом сервере с помощью Test-NetConnection:
Как мы видим, указанный сервер доступен по ICMP (PingSucceeded = True) и 25 TCP порт также отвечает (RemotePort=25, TcpTestSucceeded= True)
Примечание. В некоторых случаях может оказаться, что PingSucceeded=False, а TcpTestSucceeded= True. Скорее всего означает, что на удаленном сервере запрещен ICMP Ping.
Если нужна только информация по доступности порта, в более лаконичном виде проверка может быть выполнена так:
TNC msk-mail1 -Port 25 -InformationLevel Quiet
TCP Port Ping с помощью PowerShell
Следующая команда позволить проверить доступность определенно порта на множестве серверов, список которых хранится в текстовом файле servers.txt. Нас интересуют сервера, где искомая служба не отвечает:
Я — Nazario, тот самый человек, который больше десяти лет ковыряется в Linux и Windows системах не ради хобби, а потому что это — работа и жизнь. Всё, что вы читаете на Setiwik.ru, — это не пересказ справки из мануала, а результат десятков реальных кейсов, выстраданных конфигов и ночных перезагрузок.
Я не претендую на истину в последней инстанции. Но если мой опыт может кому-то упростить работу — значит, всё это не зря. Здесь нет «магии», только практика: от настроек сервера до неожиданных багов, которые не гуглятся с первого раза.
Setiwik.ru — это место, где IT становится чуть менее хаотичным. Заходите почаще — будем разбираться вместе.