Почему RDP сразу сбрасывает сеанс при запуске 1С и как это исправить?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация IT и автоматизация бизнеса
← На главную

При настройке терминального доступа к 1С:Предприятию часто используется режим запуска начальной программы, когда на вкладке Программы в свойствах RDP-подключения указывается путь к исполняемому файлу 1cv8.exe или 1cv8c.exe. В такой конфигурации подключение к полному рабочему столу сервера не происходит: после авторизации пользователя должна сразу открыться 1С, а при ее закрытии сеанс автоматически завершается.

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

Корректный синтаксис пути и рабочая папка приложения

Самая распространенная причина немедленного разрыва соединения — ошибка в параметрах строки запуска. Если исполняемый файл запускается с ошибкой или процесс завершается мгновенно, сервер терминалов расценивает это как штатное окончание работы начального приложения и немедленно завершает RDP-сессию. Сравним свойства ярлыка на рабочем столе сервера с тем, что вводится в клиенте RDP.

Разберем по шагам, на что необходимо обратить внимание:

  1. Наличие кавычек при наличии пробелов в путях. Если путь содержит пробелы (к примеру, C:\Program Files (x86)\1cv8\common\1cestart.exe), терминальный сервер без кавычек попытается выполнить команду только до первого разделителя — то есть файл C:\Program. Поскольку такого файла не существует, сессия аварийно закрывается. Обязательно заключаем весь путь в двойные кавычки: "C:\Program Files\1cv8\common\1cestart.exe".
  2. Заполнение поля рабочей папки. Очень часто поле Рабочая папка (или Начать в) оставляют пустым. Приложению 1С для инициализации требуются библиотеки из каталога платформы. Если не задать рабочую папку, процесс может завершаться из-за невозможности загрузить необходимые зависимости. Рекомендуется указывать каталог запускаемой версии, например: C:\Program Files\1cv8\8.3.X.XXXX\bin\.
  3. Ключи командной строки. Если требуется автоматический выбор информационной базы без открытия стартера, параметры командной строки добавляются после пути к исполняемому файлу. Посмотрим на пример корректной строки запуска информационной базы:
    
    "C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "БухгалтерияПредприятия"
    

Проверка политик безопасности и списка разрешенных программ

Если пути прописаны верно, но закрытие сессии продолжается для любых указанных программ (например, даже для тестового notepad.exe), рассмотрим системные политики безопасности сервера терминалов. В серверных операционных системах Windows Server часто действуют ограничения на запуск произвольных начальных приложений.

  1. Политика запрета запуска начальной программы. Проверим параметры групповой политики. Откроем редактор локальной групповой политики (команда gpedit.msc) и перейдем по пути: Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Среда удаленных сеансов. Убедимся, что параметр Не разрешать запуск начальной программы при подключении находится в состоянии Отключено или Не задано.
  2. Ограничение списка RemoteApp через реестр. Если на сервере настроена роль RemoteApp, операционная система может блокировать запуск приложений, не входящих в доверенный перечень. Проверим ветку системного реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList. Если параметр fAllowUnlistedRemotePrograms имеет значение 0, сервер будет мгновенно закрывать подключение при попытке запустить программу через вкладку клиента RDP. Изменение значения на 1 разрешает запуск программ, указанных клиентом.
  3. Диагностика в журнале событий. Точную причину закрытия процесса всегда можно отследить в оснастке Просмотр событий (eventvwr.msc). Проанализируем записи в разделах: Журналы приложений и служб -> Microsoft -> Windows -> TerminalServices-LocalSessionManager и TerminalServices-RemoteConnectionManager, а также системный журнал Приложение. Там регистрируются коды ошибок запуска и факты немедленного падения процессов платформы.

RemoteApp или классический RDP: что выбрать для 1С?

Рассмотрим подробнее отличие публикации 1С через RemoteApp от традиционного терминального сеанса RDP с начальной программой, а также их влияние на быстродействие системы при одновременной работе 50 и более пользователей с крупной базой данных.

  1. Потребление ресурсов сервера. Режим RemoteApp не загружает графическую оболочку проводника (explorer.exe), что экономит от 30 до 60 МБ оперативной памяти на пользователя и снижает время первоначального входа. Однако весь вычислительный код конфигурации и клиентские скрипты все равно выполняются на ресурсах сервера терминалов, поэтому само быстродействие платформы 1С остается одинаковым.
  2. Особенности работы модальных окон. В режиме RemoteApp каждое окно 1С передается на клиентскую машину как отдельный элемент интерфейса Windows. Из-за этого при работе с тяжелыми конфигурациями («Комплексная автоматизация», «ERP») пользователи могут сталкиваться с потерей фокуса модальных окон (диалоги подтверждения, формы подбора), когда всплывающее окно уходит на задний план и блокирует работу программы. В классическом сеансе RDP такой проблемы нет, так как передается единая рабочая область.
  3. Зависание сеансов. При завершении работы в RemoteApp фоновые задачи или модули интеграции платформы могут удерживать пользовательскую сессию в активном состоянии. Для предотвращения накопления «призрачных» сеансов на сервере необходимо обязательно настраивать тайм-ауты отключенных и бездействующих сессий.

При нагрузке в 50–55 пользователей и объеме информационной базы от 150 ГБ эффективной архитектурной альтернативой RDP является использование тонкого клиента 1С с прямым подключением к серверу приложений или через веб-публикацию (HTTP/HTTPS). Это полностью избавляет от графических артефактов терминальных служб и снижает нагрузку на дисковую подсистему и память центрального сервера.

← На главную