- CHGPORT — управление портами сервера терминалов в CMD
- Синтаксис команды CHGPORT
- Ключи и параметры
- Примеры использования
- Просмотр текущих сопоставлений портов
- Создание сопоставления COM-порта
- Перенаправление нескольких портов
- Удаление сопоставления
- Сброс всех сопоставлений в скрипте
- Проверка в рамках диагностики RDS
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Чем CHGPORT отличается от CHANGE PORT?
- На каких версиях Windows работает CHGPORT?
- Нужны ли права администратора для CHGPORT?
- Сохраняются ли изменения CHGPORT после перезагрузки?
- Как посмотреть сопоставления портов без CHGPORT?
CHGPORT — управление портами сервера терминалов в CMD
CHGPORT — команда командной строки Windows, которая позволяет системному администратору просматривать, добавлять и удалять сопоставления COM-портов в среде сервера терминалов (Remote Desktop Services). CHGPORT является точным синонимом команды CHANGE PORT и используется преимущественно на серверах с ролью RDS для управления перенаправлением последовательных портов.
Синтаксис команды CHGPORT
CHGPORT [portx=porty | /D portx | /QUERY]
portx=porty— создать сопоставление: перенаправить COM-портportxна портporty./D portx— удалить сопоставление для портаportx./QUERY— вывести список всех текущих сопоставлений COM-портов.
Без аргументов команда ведёт себя аналогично /QUERY и выводит текущие сопоставления.
Ключи и параметры
| Ключ | Описание | Пример |
|---|---|---|
| (без параметров) | Показать текущие сопоставления COM-портов | CHGPORT |
/QUERY | Явно запросить список всех сопоставлений портов | CHGPORT /QUERY |
portx=porty | Создать сопоставление — перенаправить COM-порт X на порт Y | CHGPORT COM1=COM3 |
/D portx | Удалить существующее сопоставление для указанного порта | CHGPORT /D COM1 |
Команда не имеет ключа /? для вывода справки в стандартном формате CMD — используйте CHANGE PORT /? для получения встроенной справки.
Примеры использования
Просмотр текущих сопоставлений портов
Перед любыми изменениями убедитесь, какие сопоставления уже существуют в системе.
CHGPORT /QUERY
Команда выведет таблицу вида COM1 = COM3 для каждого активного сопоставления, либо сообщение об отсутствии сопоставлений.
Создание сопоставления COM-порта
Если приложению на сессии терминального сервера нужен COM1, а физически устройство подключено к COM3, создайте сопоставление.
CHGPORT COM1=COM3
Теперь обращения к COM1 внутри терминальной сессии будут перенаправляться на COM3.
Перенаправление нескольких портов
Создайте сопоставления для нескольких портов последовательно, выполнив команду несколько раз.
CHGPORT COM1=COM3 CHGPORT COM2=COM4
Оба сопоставления будут активны одновременно; проверьте результат командой CHGPORT /QUERY.
Удаление сопоставления
Для удаления конкретного сопоставления используйте ключ /D с именем порта, который был переназначен.
CHGPORT /D COM1
Сопоставление для COM1 будет удалено; порт вернётся к стандартному поведению.
Сброс всех сопоставлений в скрипте
Если нужно очистить все нестандартные сопоставления при завершении работы пользователя, соберите список и удалите каждое.
@echo off
:: Запрашиваем список и удаляем сопоставления COM1-COM4
FOR %%P IN (COM1 COM2 COM3 COM4) DO (
CHGPORT /D %%P 2>nul
)
echo Сопоставления портов сброшены. Проверка в рамках диагностики RDS
При диагностике проблем с последовательными устройствами на RDS-сервере используйте /QUERY для получения снимка конфигурации.
CHGPORT /QUERY >> C:\Logs\port_snapshot.txt
Вывод будет добавлен в лог-файл с сохранением предыдущих записей.
Частые ошибки и решения
| Ошибка / ситуация | Причина | Решение |
|---|---|---|
Отказано в доступе при выполнении CHGPORT | Команда требует прав администратора на сервере терминалов | Откройте CMD от имени администратора (Запуск от имени администратора) |
CHGPORT не является внутренней или внешней командой | Роль Remote Desktop Services не установлена, либо вы работаете на клиентской Windows без RDS | Команда доступна только на серверах с установленной ролью RDS; на клиентских системах используйте диспетчер устройств |
| Сопоставление создано, но устройство не отвечает | Физический порт занят другим процессом или устройство не поддерживает перенаправление в RDS | Проверьте, не использует ли порт другой процесс: MODE COM3; освободите порт перед созданием сопоставления |
| Сопоставление не сохраняется после перезагрузки сервера | CHGPORT применяет изменения только для текущего сеанса RDS | Добавьте команду CHGPORT в скрипт входа пользователя (Group Policy: User Configuration → Logon Scripts) |
CHGPORT COM1=COM1 — попытка сопоставить порт с самим собой | Бессмысленная операция, которая может вызвать конфликт | Сопоставляйте только разные порты; проверяйте текущую конфигурацию перед изменениями |
Когда применять, а когда нет
CHGPORT применяется исключительно в среде Windows Server с установленной ролью Remote Desktop Services (Terminal Services). На клиентских системах (Windows 10/11 Home, Pro) команда недоступна или не выполняет никакого действия. Команда требует прав администратора. Если задача — просто посмотреть параметры последовательного порта или настроить скорость соединения, используйте встроенную команду MODE COMx. В PowerShell прямого аналога нет; для управления RDS-конфигурацией используют модуль RemoteDesktop (командлеты Get-RDSessionCollection, Set-RDSessionCollectionConfiguration).
FAQ
Чем CHGPORT отличается от CHANGE PORT?
Это абсолютные синонимы — одна и та же функция с двумя именами. CHGPORT — сокращённый вариант CHANGE PORT. Оба вызова дают идентичный результат.
На каких версиях Windows работает CHGPORT?
Команда присутствует в Windows Server с ролью Remote Desktop Services. На клиентских версиях Windows (в том числе Windows 10 и Windows 11) команда недоступна.
Нужны ли права администратора для CHGPORT?
Да, для создания и удаления сопоставлений требуются права администратора на сервере RDS. Просмотр через /QUERY также требует соответствующих разрешений сессии.
Сохраняются ли изменения CHGPORT после перезагрузки?
Нет, CHGPORT применяет настройки в рамках текущей конфигурации сеанса и не записывает изменения в реестр постоянно. Для сохранения настроек добавьте команду в скрипт входа через групповые политики.
Как посмотреть сопоставления портов без CHGPORT?
На серверах с ролью RDS используйте графическую консоль «Диспетчер серверов» → Remote Desktop Services → конфигурация сессий. Либо через PowerShell с модулем RemoteDesktop.


