CHANGE — команда командной строки Windows для управления параметрами сервера терминалов (Remote Desktop Services). Она объединяет три подкоманды: CHANGE LOGON управляет входом в сеансы, CHANGE PORT переназначает COM-порты, CHANGE USER переключает режим установки приложений для многопользовательской среды.
- Синтаксис команды CHANGE
- Ключи и параметры
- Примеры использования
- Временное отключение новых подключений перед обслуживанием
- Проверка состояния входа перед обновлением
- Установка приложения в многопользовательской среде
- Переназначение COM-порта для legacy-оборудования
- Просмотр всех активных переназначений портов
- Отключение входа до перезагрузки после применения патчей
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Чем отличается CHANGE LOGON /DISABLE от /DRAIN?
- Нужно ли вручную возвращать режим EXECUTE после установки?
- Работает ли CHANGE на Windows 10 без сервера?
- Можно ли использовать CHANGE в скриптах автоматизации?
- Как проверить, в каком режиме сейчас работает сервер перед установкой ПО?
- Нужны ли права домена или достаточно локального администратора?
Синтаксис команды CHANGE
CHANGE LOGON {/QUERY | /ENABLE | /DISABLE | /DRAIN | /DRAINUNTILRESTART}
CHANGE PORT [порт1=порт2 | /D порт1 | /QUERY]
CHANGE USER {/EXECUTE | /INSTALL | /QUERY} Каждая подкоманда работает независимо. Запускать нужно только одну из трёх за раз.
Ключи и параметры
| Ключ | Описание | Пример |
|---|---|---|
| LOGON /QUERY | Показывает текущее состояние входа в сеансы (включён/отключён) | CHANGE LOGON /QUERY |
| LOGON /ENABLE | Разрешает новые сеансы пользователей на сервере терминалов | CHANGE LOGON /ENABLE |
| LOGON /DISABLE | Запрещает новые сеансы входа (существующие не обрываются) | CHANGE LOGON /DISABLE |
| LOGON /DRAIN | Запрещает новые сеансы, но ждёт завершения текущих | CHANGE LOGON /DRAIN |
| LOGON /DRAINUNTILRESTART | Запрещает новые сеансы до ближайшей перезагрузки | CHANGE LOGON /DRAINUNTILRESTART |
| PORT порт1=порт2 | Переназначает COM-порт: все запросы к порт1 перенаправляются на порт2 | CHANGE PORT COM1=COM3 |
| PORT /D порт | Удаляет переназначение указанного порта | CHANGE PORT /D COM1 |
| PORT /QUERY | Выводит список всех активных переназначений COM-портов | CHANGE PORT /QUERY |
| USER /EXECUTE | Переключает в режим выполнения (нормальная работа пользователей) | CHANGE USER /EXECUTE |
| USER /INSTALL | Переключает в режим установки приложений (запись в HKLM вместо HKCU) | CHANGE USER /INSTALL |
| USER /QUERY | Показывает текущий режим — EXECUTE или INSTALL | CHANGE USER /QUERY |
Примеры использования
Временное отключение новых подключений перед обслуживанием
Нужно выполнить обслуживание сервера, не обрывая активные сеансы.
CHANGE LOGON /DRAIN
Новые пользователи не смогут войти, а уже работающие сеансы продолжат работу. После завершения обслуживания выполните CHANGE LOGON /ENABLE.
Проверка состояния входа перед обновлением
Перед изменением настроек полезно убедиться в текущем статусе.
CHANGE LOGON /QUERY
Команда выведет строку вида Session logins are currently enabled или disabled.
Установка приложения в многопользовательской среде
При установке ПО на сервер терминалов нужно, чтобы настройки применялись ко всем пользователям, а не только к текущему.
CHANGE USER /INSTALL setup.exe CHANGE USER /EXECUTE
В режиме INSTALL реестровые записи приложения пишутся в HKEY_LOCAL_MACHINE, что обеспечивает единые настройки для всех пользователей. После установки обязательно верните режим EXECUTE.
Переназначение COM-порта для legacy-оборудования
Старое ПО требует COM1, а оборудование подключено к COM3.
CHANGE PORT COM1=COM3
Все обращения приложения к COM1 будут перенаправлены на COM3 в рамках текущего сеанса терминала.
Просмотр всех активных переназначений портов
Нужно проверить, какие COM-порты переназначены на сервере.
CHANGE PORT /QUERY
Команда выведет таблицу активных маппингов или сообщит, что переназначений нет.
Отключение входа до перезагрузки после применения патчей
После установки патчей сервер нужно перезагрузить, новые подключения нежелательны.
CHANGE LOGON /DRAINUNTILRESTART
Сервер перестанет принимать новые сеансы до следующего старта, после перезагрузки вход автоматически разрешится.
Частые ошибки и решения
| Ошибка | Причина | Решение |
|---|---|---|
| «Отказано в доступе» при выполнении любой подкоманды | CMD запущена без прав администратора | Запустить CMD от имени администратора (ПКМ → «Запуск от имени администратора») |
| «Команда не найдена» или «CHANGE не является командой» | Служба Remote Desktop Services не установлена или отключена | Убедиться, что роль RDS активна; на обычной рабочей станции CHANGE работает только частично |
После CHANGE USER /INSTALL приложение не работает для других пользователей | Установщик был запущен до переключения режима | Удалить приложение, сначала выполнить CHANGE USER /INSTALL, затем установить заново |
CHANGE PORT не сохраняется после перезагрузки | Переназначение действует только в рамках текущей сессии | Добавить команду в сценарий входа пользователя или групповую политику |
После /DRAIN сеансы не завершаются часами | Пользователи не завершают работу вручную | Использовать QWINSTA для просмотра сеансов и LOGOFF <ID> для принудительного завершения |
Когда применять, а когда нет
Команда CHANGE актуальна исключительно в среде Remote Desktop Services (Windows Server или Windows 10/11 с включённой ролью RDS). На обычной рабочей станции без роли терминального сервера подкоманды LOGON и USER не имеют эффекта или вернут ошибку. Команда требует прав локального администратора. Аналог в PowerShell — командлеты модуля RemoteDesktop: например, Set-RDSessionCollectionConfiguration для управления сеансами, однако CHANGE USER /INSTALL не имеет прямого аналога в PowerShell и остаётся предпочтительным способом для переключения режима установки приложений.
FAQ
Чем отличается CHANGE LOGON /DISABLE от /DRAIN?
/DISABLE немедленно запрещает новые входы, но ничего не делает с существующими сеансами. /DRAIN тоже запрещает новые входы, но дополнительно ждёт, пока все текущие пользователи завершат работу самостоятельно — более корректный вариант для планового обслуживания.
Нужно ли вручную возвращать режим EXECUTE после установки?
Да, обязательно. Если оставить режим INSTALL, все дальнейшие запуски программ будут работать некорректно: настройки пользователей не будут сохраняться в профиле. Всегда выполняйте CHANGE USER /EXECUTE сразу после завершения установки.
Работает ли CHANGE на Windows 10 без сервера?
На обычной рабочей станции Windows 10 команда присутствует, но подкоманды LOGON и USER не производят видимого эффекта без активной службы терминалов. Команда PORT может работать для переназначения COM-портов в RDP-сеансе.
Можно ли использовать CHANGE в скриптах автоматизации?
Да. Команда возвращает стандартные коды завершения: 0 — успех, ненулевой — ошибка. Это позволяет использовать её в bat-файлах с проверкой через IF ERRORLEVEL или в PowerShell-скриптах через $LASTEXITCODE.
Как проверить, в каком режиме сейчас работает сервер перед установкой ПО?
Выполните CHANGE USER /QUERY. Если вернётся Application EXECUTE mode is enabled — режим нормальный, можно переключить в INSTALL. Если уже INSTALL mode — кто-то забыл вернуть режим после предыдущей установки.
Нужны ли права домена или достаточно локального администратора?
Для выполнения CHANGE достаточно прав локального администратора на сервере терминалов. Права домена не требуются, если только групповые политики не ограничивают доступ к инструментам управления RDS.


