Очистка занятых COM портов в Windows
02.02.2022

itpro

PowerShell, Windows 10, Windows 7, Windows Server 2019

комментариев 26
Когда вы подключаете к компьютеру новое COM или некоторые USB устройства (например, USB модем, мобильный телефон, Bluetooth адаптер, конвертеров последовательных портов в USB и т.п.), Windows определяет его через механизм Plug-n-Play и назначит ему номер COM порта в диапазоне от 1 до 255 (COM1, COM2, COM3 и т.д.). При повторном подключении этого же устройств, ему назначается номер COM порта (Communication Port, или Serial port), зарезервированный за ним ранее. Новым устройствам выдается первый незанятый номер COM порта. Не редкость, когда внешние устройства при подключении создают сразу несколько COM портов (в моем случае после подключения адаптера Bluetooth, в системе появилось сразу 10 . новых COM портов).
Ряд приложений (как правило, довольно древних), способны адресовать только двухзначные номера COM портов, и отказываются работать с COM100 и выше. Или видят только COM1-COM9 устройства. Что делать, если подключенное устройство получило высокий номер COM порта? Можно ли сбросить нумерацию для зарезервированных COM портов и удалить назначенные порты?
Изменить номер COM порта устройства в Windows
В Windows можно вручную изменить номер COM порта, назначенный устройству. Предположим требуемый COM порт уже занят, и мы хотим его попробовать его освободить. Для этого:
- Откройте диспетчер устройств (Device Manager) командой devmgmt.msc;
- В меню выберите View->Show Hidden Devices;

- Затем разверните Ports (COM & LPT) и найдите в списке устройство;
- Перейдите на вкладку Port Settings и нажмите кнопку Advanced;
- Текущий номер COM порта, назначенный устройству указан в поле COMPortNumber;
- Чтобы изменить его, раскройте выпадающий список и выберите номер COMпорта, который хотите задать.

Но чаще всего изменить номер COM порт на другой не получится, так как все «низкие» COM порт уже используются (in use);


Однако такой способ позволяет освободить занятый COM порт не во всех случаях.
Вы можете вывести полный список занятых COM портов в Windows с помощью PowerShell:
Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description
Можно определить номер COM порта для определённого устройства по его имени, например:
Get-WMIObject Win32_SerialPort | Where-Object < $_.Name -like "*Arduino*">|select name, deviceid
Или
Get-WMIObject Win32_SerialPort | Where-Object < $_.Name -like "*GPS*">|select name, deviceid
Определяем процесс, который использует COM в Windows
Вы не сможете освободить COM порт устройства, которое используется Windows или запущенной программой, процессом. Сначала вам нужно завершить процесс/программу, которая использует сейчас COM порт. Чтобы определить имя процесса, который использует COM порт понадобится утилита Process Explorer (https://docs.microsoft.com/en-gb/sysinternals/downloads/process-explorer).
Сначала нужно вывести имя службы, которая использует COM порт. Выполните команду PowerShell:
get-pnpdevice -class Ports -ea 0| Select Name, PNPDeviceID, Status, Service

Имя службы данного COM порта указано в столбце Service. Например, для COM2 это Serial. Теперь нужно запустить Process Explorer с правами администратора и выбрать в меню Find -> Find Handle or DLL. В строке Hangde or DLL substring введите значение Service, полученное ранее. В нашем примере это Serial .
Process Explorer должен показать процесс, который использует сейчас ваш COM порт. Чтобы освободить COM порт, завершите процесс или программу.

Сброс назначенных COM портов Windows через реестр
Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
-
Откройте редактор реестра (regedit.exe) и перейдите в указанную ветку.
Важно! Настоятельно рекомендуем предварительно создать резервную копию данной ветки реестра (File -> Export). В том случае, если что-то пойдет не так, вы сможете вернуться к первоначальной конфигурации COM портов.

Значение параметра ComDB в двоичном формате определяет список COM портов, зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100);
Важно! Будьте предельно внимательными, ни в коем случае не добавьте в этот параметр дополнительные байт, иначе система может начать падать в BSOD.

Если нужно полностью сбросить все привязки COM, измените значение ключа ComDB на 0.

Примечание. В разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM можно увидеть полный список COM портов, доступных в Windows.В разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM можно увидеться список COM портов, подключенных к системе.

Также вы можете использовать следующие две бесплатные утилиты для очистки занятых (In Use) COM портов:

- COM Name ArbiterTool – утилита для освобождения занятых COM портов. Запустите утилиту с правами администратора, выберите COM порты, которые вы хотите освободить и нажмите Clear unused Reservationsи Remove non-present devices;
- Device Cleanup Tool – утилита используется для поиска в реестре информации о ранее подключенных устройств (в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum) и удаления неиспользуемых устройств и очистки резерваций COM портов.
Предыдущая статья Следующая статья
Как очистить использующийся порт в windows?

Формулировка вопроса напрашивается на соотвествующий ответ.
Но если по существу — узнать какая программа занимает порт можно
netstat -aon | findstr 8080
потом
tasklist /fi «PID eq 12345»
— вместо 12345 подставить число из вывода первой команды
Ответ написан более трёх лет назад
Нравится 4 1 комментарий
Я бы сразу не прибивал. Есть большие шансы, что после перезагрузки ОС опять все начнется заново.
Узнав что за процесс открывает порт нужно понять откуда этот процесс взялся, нужен ли он вам. Если не нужен — просто удалить соответствующее ПО. Если нужен — разбираться по логам или сообщениям в журнале, в чем проблема лагов.
Кстати, проще всего посмотреть кто слушает порт можно с помощью «Монитора ресурсов», который запускается из «диспетчера задач».
Как открыть или закрыть порт в брандмауэре Windows?
Читайте, как открыть или закрыть порты на компьютере или ноутбуке с Windows 10, 8 или 7. Как проверить открыт ли нужный порт, как посмотреть состояние всех портов, и как узнать какой порт использует конкретная программа.

Введение
Операционная система Windows 10, управляющая компьютерными устройствами и следящая за корректным исполнением всех запушенных процессов, обладает мощной встроенной службой комплексной защиты «Защитник Windows». Одним из элементов предустановленной службы, оберегающем пользователей от множественных разнообразных сетевых угроз в «Интернете» (как от входящего потока данных, так и от разнообразных локальных приложений, пытающихся получить несанкционированный доступ), является «Брандмауэр Windows». Защитный инструмент ограничивает доступ для всех объектов, кроме разрешенных. И если пользователю необходимо разрешить сетевую передачу данных без ограничения брандмауэром, то потребуется соответствующим образом открыть в настройках порт.
Перейти к просмотру

Это одно их важных условий создания устойчивого соединения, ведь когда устройство подключается к другому устройству в сети (включая сеть «Интернет»), оно указывает номер порта, что позволяет принимающему устройству корректно обрабатывать передачу данных. Если «IP-адрес» выступает сетевым идентификатором устройства и показывает конкретное местоположение устройства, то номер порта позволяет принимающему устройству определить, какая программа настроена на получение входящего информационного потока.
По умолчанию, большая часть входящих нежелательных сетевых пакетов данных из Интернета блокируется «Брандмауэром Windows». Но если пользователи увлекаются играми и планируют создать собственный игровой сервер или регулярно и на постоянной основе пользуются файлообменниками (например, торрентами), то для успешного исполнения намеченных действий необходимо открыть порт, чтобы пропустить требуемую информационную пакетную передачу данных без блокировки брандмауэром.
Примечание. В данной статье показано, как открыть порт в брандмауэре конкретного компьютера, чтобы разрешить сетевую передачу. Если доступ в «Интернет» происходит через маршрутизатор (один из самых распространенных способов), также будет необходимо разрешить пропуск данных и в маршрутизаторе путем установления соответствующей переадресации.
Как открыть порт в «Windows 10»?
Перейти к просмотру

Выполнить непосредственную процедуру по открытию порта в операционной системе «Windows 10» можно в соответствующем мониторе брандмауэра с привилегированным режимом повышенной безопасности. Открыть необходимый раздел приложения можно разными способами. Но в нашей статье мы остановимся лишь на двух возможных вариантах.
Способ 1. Нажмите на «Панели задач» в нижнем левом углу рабочего стола на кнопку «Пуск» и откройте главное пользовательское меню «Windows». В основном перечне установленных приложений и системных служб, используя колесо управления манипулятора (компьютерной мыши) или задействуя бегунок полосы прокрутки, перемещайтесь по списку, отыщите и откройте раздел «Служебные-Windows». Во вложенной всплывающей вкладке выберите, из доступных вариантов, раздел «Панель управления», которая содержит все основные служебные инструменты управления настройками операционной системой.

Затем, в открывшемся окне элементов управления, выберите из списка предложенных инструментов раздел «Брандмауэр Защитника Windows».

Или введите в строку поискового запроса, расположенную на «Панели задач» в нижнем левом углу экрана рядом с кнопкой «Пуск», фразу «Брандмауэр Защитника Windows». В поисковой панели в разделе «Лучшее соответствие» будет представлен искомый инструмент. Щелкните его левой кнопкой мыши или в правом боковом меню управления нажмите на кнопку «Открыть», и искомое приложение будет запущено.

В новом окне панели управления системой, ответственном за надлежащую организацию защиты компьютера от злоумышленников и вредоносных программ в «Интернете» или локальной сети, нажмите на текстовую ссылку «Дополнительные параметры», расположенную в левом боковом меню.

Способ 2. На «Панели задач» в правом нижнем углу рабочего стола нажмите на кнопку представления всплывающей панели «Отображать скрытые значки», и щелкните левой кнопкой мыши значок «Безопасность Windows», выполненный в виде щита.

В открывшемся окне сведений системы о состоянии безопасности и работоспособности устройства выберите раздел «Брандмауэр и безопасность сети».

Затем в новом окне нажмите на текстовую ссылку «Дополнительные параметры», расположенную в нижней части окна, для непосредственного перехода в требуемый раздел.

Воспользовавшись любым из описанных способов, пользователи смогут открыть окно «Монитор брандмауэра Защитника Windows в режиме повышенной безопасности», регулирующий политики режимов защиты компьютерных устройств, функционирующих под управлением операционной системы «Windows 10».
Выберите в левой боковой панели окна раздел «Правила для входящих подключений», полный список которых будет мгновенно отображен в центральной панели окна. А затем нажмите в правой боковой панели раздел «Создать правило».

Если возникла необходимость создать правило для исходящего потока информационных данных, то в левой боковой панели вместо раздела «Правила для входящих подключений» выберите вариант «Правила для исходящего подключения». Большинство приложений довольно хорошо умеют создавать свои собственные исходящие правила при первоначальной установке, но иногда пользователи могут столкнуться с ситуацией, когда необходимо выполнить открытие порта для исходящего потока самостоятельно вручную.

В новом окне «Мастер создания правила для нового входящего подключения» на странице «Тип правила» выберите раздел «Для порта», установив в соответствующей ячейке индикатор выбора (точку), и нажмите на кнопку «Далее».

На следующей странице пользователям необходимо выбрать, будет ли открываемый порт использовать протокол управления передачей TCP (основной распространенный протокол управления потоковой передачей данных) или протокол пользовательских датаграмм UDP (значимый элемент набора сетевых протоколов, использующий датаграммный, в виде отдельных сообщений, интерфейс обмена данными). К сожалению, точно указать, какой конкретно протокол использовать мы не можем, потому что различные приложения используют разные протоколы, индивидуальные для каждой программы. Номера портов могут варьироваться от «0» до «65535», причем порты до «1023» зарезервированы для привилегированных услуг. Пользователи могут найти неофициальный список большинства, доступных для использования, портов формата «TCP» и «UDP» на соответствующей странице «Википедии» с указанием возможного зарезервированного приложения. Если не удалось определить конкретный протокол, который будет использоваться для приложения, можно создать два новых правила для входящих подключений – одно для протокола «TCP» и второе, соответственно, для «UDP».
Выберите параметр «Определенные локальные порты», установив в связанной ячейке индикатор выбора (точку), а затем введите номер порта в соответствующее поле. Если планируется открыть более одного порта, можно разделить их запятыми, а для диапазона портов необходимо использовать дефис («-»). Потом нажмите на кнопку «Далее» для продолжения.

На следующей странице установите индикатор выбора (точку) в ячейке раздела «Разрешить подключение», а затем нажмите кнопку «Далее».

Примечание. В данном руководстве мы будем использовать параметр «Разрешить подключение», поскольку доверяем соединению, для которого создаем правило. Если присутствуют определенные опасения, то можно выбрать вариант правила «Разрешить безопасное подключение», которое осуществляет проверку подлинности и использует параметры безопасности «IPSec» для аутентификации соединения. Однако данный параметр многие приложения могут не поддерживать. Поэтому, если при выборе более безопасного варианта приложение не сможет осуществлять подключение, всегда можно вернуться и перейти на менее защищенный вариант.
На следующей странице укажите профили, к которым будет применено выбранное правило, установив рядом с каждым подходящим вариантом индикатор выбора («галочку») в соответствующей ячейке, и нажмите на кнопку «Далее» в подтверждение своего решения. На выбор пользователям представлено три возможных профиля, и можно отметить как один, так и все из следующих видов:
- Доменный: когда персональный компьютер подключен к контроллеру домена, операционная система «Windows» может аутентифицировать доступ к домену.
- Частный: персональный компьютер подключен к частной сети, например, к «Домашней сети» или сети, которой вы доверяете.
- Публичный: применяется в случае, когда персональный компьютер подключен к открытой общественной сети, например, в кафе, аэропорту или библиотеке, где любой может присоединиться, и безопасность вам неизвестна.

В заключительном окне присвойте новому правилу имя и дополнительно укажите, при желании, более подробное описание. Затем по окончанию, нажмите на кнопку «Готово», и правило с заданными параметрами будет создано.

В случае необходимости, пользователи могут отключить созданное или любое из доступных правил в любой момент. Отыщите требуемое правило в центральной панели главного окна, предварительно отметив раздел «Правила для входящих подключений» или «Правила для исходящего подключения» в левой боковой панели, щелкните его название правой кнопкой мыши и, во всплывающем контекстном меню, выберите из вариантов доступных действий раздел «Отключить правило», и команда будет исполнена незамедлительно.

На этом процедура по открытию порта в операционной системе «Windows 10» окончена.
Более подробно ознакомиться с возможными способами открытия или закрытия портов на персональном настольном компьютере или ноутбуке под управлением операционной системы «Windows 10» (и более ранних версий исполнения), методами проверки состояния всех доступных портов и порядком получения сведений об использовании портов каждой конкретной программой можно на нашем видеоканале в руководстве: «Как открыть, закрыть порты, узнать какие порты открыты на ПК с Windows 10, 8, 7 или роутере в 2019».
Перейти к просмотру

Заключение
Стремительное развитие компьютерных устройств, широкое распространение и общедоступность международной сети «Интернет», практически полный перевод информационных материалов в цифровой формат и огромное предложение разнообразного программного обеспечения способствовало значительному росту повседневного применения компьютеров во многих областях деятельности пользователей.
Такая популярность вынуждает пользователей, для обеспечения надлежащего уровня безопасности используемых данных, применять современное программное обеспечение, оснащенное встроенными инструментами защиты, одним из которых (самым распространенным) является операционная система «Windows 10» с предустановленным защитным решением «Защитник Windows».
Отдельный инструмент защитника (брандмауэр) следит за безопасностью данных и сетей и открывает доступ только привилегированным разрешенным приложениям и процессам.
Используя представленный алгоритм действий, пользователи смогут открыть требуемый порт и обеспечить доступ выбранному приложению в сеть, в случае, если такое разрешение не было получено автоматически, установив соответствующее правило безопасности. Или закрыть порт простым способом при возникшей необходимости.

Автор: Andrey Mareev, Технический писатель
В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановлению данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами.

Редактор: Michael Miroshnichenko, Технический писатель
Мирошниченко Михаил – одни из ведущих программистов в Hetman Software. Опираясь на пятнадцатилетний опыт разработки программного обеспечения он делится своими знаниями с читателями нашего блога. По мимо программирования Михаил является экспертом в области восстановления данных, файловых систем, устройств хранения данных, RAID массивов.
- Обновлено:
- 12.10.2023 15:04
Что делать, если System занимает 80 порт и как освободить порт 80 на Windows
Порой попадаешь в интересные и, местами, казусные ситуации. Мне нужно было срочно доработать один сайт у заказчика и я, естественно, развернул локальный сервер на ноутбуке, который мне там любезно предоставили. Я не стал заморачиваться с отдельными настройками Apache, MySQL, PHP а просто решил использовать готовые продукты типа WAMP.
Конечно, кто занимается или даже пробовал заниматься веб-разработкой, наверняка вспомнят о пресловутом Денвере, который, увы, перестал обновляться. Хорошая вещь некогда была, но сейчас Денвер безнадежно устарел и использовать его бессмысленно. Что ж, такая судьба всегда ждет проекты, построенные на голом энтузиазме…
Раньше для быстрого тестирования и разработке на винде я использовал WAMP, но как то незаметно для себя перешел на XAMPP, хотя, на самом деле, разницы особой я не замечаю и WAMPмне все же как то удобнее кажется. Но дело вкуса.
И вот, когда я установил это все, скинул в директорию архив с сайтом и начал настраивать окружение для работы, Апачи ругнулся на занятый 80 порт в системе.
Я первым делом проверил наличие запущенных программ TeamViewerи Skype, так как они и занимают обычно этот порт. Эти программы установлены не были и моя догадка летела в тартары.
Ладно, запустив команду netstat –ab, мне было выдано, что 80 порт занимает system.exe. Вот это, честно говоря в тупик меня и поставило. Первой мыслью было, что это вирус, но догадка была беспочвенной, так как на ноутбуке стоял хороший антивирус. Тогда я начал экспериментально вырубать службы Windows, и, о чудо, нашел что блокировало порт.
Виновницей оказалась Служба Web-публикаций. Простая остановка службы решила все проблемы с занимаемым портом. Честно говоря, лично мне было досадно, что все оказалось настолько просто, а я почти час мучал ноутбук, пытаясь найти гаденыша..
Надеюсь, что вы не наступите на мои грабли и быстренько решите проблему, когда system.exe занимает 80 порт с PID 4.
- Что делать, если в Windows вместо ярлыков отображаются значки блокнота (нарушена файловая ассоциация)
- Что делать, если слетела активация Windows 7
- Что делать, если не открывается меню Пуск на Windows 10
- Что делать, если после перезагрузки сбивается расположение ярлыков на рабочем столе Windows 10
- Решаем проблему с сетевым обнаружением в Windows 7
- Главная
- Устранение неполадок с компьютером
