|
Друзі сайту
|
Test-NetConnection: мережева діагностика у PowerShell — сучасна заміна telnet і tracertЦикл: IT-Wiki / Атлас команд Windows Переглядів: 1
Перед стартом
Базовий синтаксисTest-NetConnection -ComputerName <host> [-Port <N>] [-InformationLevel Detailed] [-TraceRoute] [-CommonTCPPort HTTP|RDP|SMB|WINRM] Мінімальний виклик — перевірка TCP-порту: Test-NetConnection smtp.office365.com -Port 587 Результат у консолі показує 5-7 ключових рядків: чи досяжний хост, чи відкритий порт, який інтерфейс використаний, який SourceAddress, RTT, чи є маршрут. Сценарій 1. TCP-перевірка (заміна telnet)Задача: перевірити, чи SMTP-relay на Office 365 відповідає. Фаєрвол чи зовнішня блокіровка? Test-NetConnection smtp.office365.com -Port 587 Ключові поля у виводі:
Для швидкої перевірки у скриптах використовуйте if (Test-NetConnection smtp.office365.com -Port 587 -InformationLevel Quiet) {
Write-Host "SMTP reachable"
} else {
Write-Host "SMTP BLOCKED"
}
Сценарій 2. Короткі назви типових портівЗадача: перевірити доступність RDP / SMB / HTTP / WinRM до віддаленої машини без запам'ятовування номерів. Test-NetConnection fileserver01 -CommonTCPPort SMB Test-NetConnection webapp.corp.local -CommonTCPPort HTTP Test-NetConnection dc01.corp.local -CommonTCPPort WINRM Мапінг: HTTP=80, SMB=445, RDP=3389, WINRM=5985. Якщо потрібен HTTPS (443) — через Сценарій 3. Детальна діагностика з маршрутомЗадача: щоразу «сайт повільний», але з інших машин швидко. Треба побачити де гальмує. Test-NetConnection google.com -TraceRoute -InformationLevel Detailed Друкує:
Комбо для пошуку «хто повільний»: (Test-NetConnection google.com -TraceRoute).TraceRoute Повертає масив IP-ів по хопам. Далі можна зробити Сценарій 4. Перевірка DNS-резолвингуЗадача: «сервер недоступний», підозра на DNS. Test-NetConnection mysite.corp.local -InformationLevel Detailed У виводі:
Порада
Для глибшого DNS-аналізу з конкретним типом запиту (MX, TXT, SRV) — Сценарій 5. Вибір конкретного source-інтерфейсуЗадача: на сервері два мережеві інтерфейси — management (192.168.10.x) і production (10.0.0.x). Перевірка має піти через production, а не management. Test-NetConnection prod-db.corp.local -Port 1433 -SourceAddress 10.0.0.15 Якщо Сценарій 6. Масова перевірка в цикліЗадача: перевірити доступність 20 бекенд-сервісів з одного хоста, зібрати статус у CSV. $targets = @(
@{Host='api1.corp.local'; Port=8443},
@{Host='api2.corp.local'; Port=8443},
@{Host='redis01.corp.local'; Port=6379},
@{Host='smtp.corp.local'; Port=587}
)
$results = foreach ($t in $targets) {
$r = Test-NetConnection $t.Host -Port $t.Port -WarningAction SilentlyContinue
[PSCustomObject]@{
Host = $t.Host
Port = $t.Port
Reachable = $r.TcpTestSucceeded
Latency = $r.PingReplyDetails.RoundtripTime
}
}
$results | Export-Csv C:\Temp\net-check.csv -NoTypeInformation
Типові пасткиПастка 1:
PingSucceeded : False ≠ «недоступно»ICMP блокується за замовчуванням у багатьох корпоративних фаєрволах і Windows Firewall. Хост може бути повністю функціональний через TCP 443, але ping не проходить. Завжди дивіться Пастка 2: повільний timeout
Якщо порт закритий фаєрволом (drop, не reject), TNC чекатиме 20+ секунд перед тим як повернути False. Це нормально. Для швидких перевірок у скриптах: Test-NetConnection host -Port N -WarningAction SilentlyContinue -ErrorAction SilentlyContinue -InformationLevel Quiet -ConnectTimeout 3 Увага: параметра $tcp = New-Object System.Net.Sockets.TcpClient
$iar = $tcp.BeginConnect('host', 443, $null, $null)
$ok = $iar.AsyncWaitHandle.WaitOne(3000, $false)
$tcp.Close()
$ok
Пастка 3: UDP не перевіряється
Коротка пам'яткаТипові виклики
Пов'язане
Інші статті цього циклу
|
Опитування
Якою програмою обліку ви користуєтесь?
Архів
Хмаринка тегів
1С Active Directory Applied cheatsheet Dahua diskpart DISM Event Log Get-Service gpresult gpupdate Hikvision ipconfig MBR netsh ping PowerShell Restart-Service RSoP services TCP Test-NetConnection UEFI Vstarcam WEB Windows Windows Services winsock WMI filter Конфігурація Ніжин Ніжин відеоспостереження виробництво впровадження відеонагляд відеоспостереження дизайн монтаж розділи інтеграція
|
![[IT-FORMAT]](/uploads/logo22.png)
