Как в PowerShell выявить процессы, слушающие порты в Windows 11

18 июля 2026 г.
Рейтинг
Как в PowerShell выявить процессы, слушающие порты в Windows 11

В Windows 11 нередко возникает необходимость понять, какие именно процессы открыли сетевые порты. Это востребовано в разных сценариях: при отладке сетевых служб, настройке веб‑серверов и локальных сервисов, а также для выявления потенциально подозрительной активности — например, если какой‑то неизвестный процесс занял важный порт. PowerShell даёт удобный и нативный способ получить эти данные без установки сторонних утилит.

Базовая команда выводит все TCP‑соединения в состоянии прослушивания:

powershell:
Get-NetTCPConnection | Where-Object State -eq Listen

Однако в таком виде список содержит технические данные, но не показывает имена процессов. Чтобы сразу сопоставить порты с приложениями, используют расширенный скрипт: он берёт ID владельца соединения и подтягивает имя процесса из списка запущенных задач.

Вот готовый вариант, который формирует читаемую таблицу с локальным портом, именем процесса и его PID:

powershell:
Get-NetTCPConnection -State Listen | ForEach-Object { $proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue[PSCustomObject]@{ LocalPort = $_.LocalPort ProcessName = $proc.ProcessName PID = $proc.Id}}

Если нужно быстро проверить, кто занял конкретный порт (скажем, 80‑й, который часто используют веб‑сервисы), достаточно указать параметр LocalPort:

powershell:
Get-NetTCPConnection -LocalPort 80 -State Listen

Такой подход экономит время при диагностике: вы сразу видите, какой процесс держит порт, и можете принять решение — остановить службу, скорректировать настройки или углубиться в анализ безопасности.

Просмотров: 9

Чтобы комментировать, зарегистрируйтесь или авторизуйтесь

Подписаться на рассылку
На этом сайте используются файлы cookie. Продолжая просмотр сайта, вы разрешаете их использование. Подробнее. Закрыть