Как в PowerShell выявить процессы, слушающие порты в Windows 11
В Windows 11 нередко возникает необходимость понять, какие именно процессы открыли сетевые порты. Это востребовано в разных сценариях: при отладке сетевых служб, настройке веб‑серверов и локальных сервисов, а также для выявления потенциально подозрительной активности — например, если какой‑то неизвестный процесс занял важный порт. PowerShell даёт удобный и нативный способ получить эти данные без установки сторонних утилит.
Базовая команда выводит все TCP‑соединения в состоянии прослушивания:
Get-NetTCPConnection | Where-Object State -eq ListenОднако в таком виде список содержит технические данные, но не показывает имена процессов. Чтобы сразу сопоставить порты с приложениями, используют расширенный скрипт: он берёт ID владельца соединения и подтягивает имя процесса из списка запущенных задач.
Вот готовый вариант, который формирует читаемую таблицу с локальным портом, именем процесса и его PID:
Если нужно быстро проверить, кто занял конкретный порт (скажем, 80‑й, который часто используют веб‑сервисы), достаточно указать параметр LocalPort:
Get-NetTCPConnection -LocalPort 80 -State ListenТакой подход экономит время при диагностике: вы сразу видите, какой процесс держит порт, и можете принять решение — остановить службу, скорректировать настройки или углубиться в анализ безопасности.
Чтобы комментировать, зарегистрируйтесь или авторизуйтесь