Ярлык, который сразу открывает 1С на сервере: RDP-файл, RemoteApp и групповая политика

· 9 мин

Содержание

Чтобы ярлык на рабочем столе открывал 1С на сервере по RDP, нужен не ярлык программы, а .rdp-файл, в котором указано, что запускать после входа: параметр alternate shell или публикация 1С как RemoteApp. Ярлык на компьютере пользователя запускает mstsc.exe с этим файлом, и человек сразу видит окно выбора баз, без рабочего стола сервера.

Бухгалтеру не нужно знать, что 1С живёт на терминальном сервере. Ему нужна иконка «1С Бухгалтерия», двойной щелчок — и база. Ниже три рабочих способа сделать такой ярлык для 1С по RDP, их сравнение и разбор того, что ломается чаще всего.

Почему ярлык 1С с сервера не работает на вашем компьютере

Частая попытка: скопировать ярлык 1С Предприятие с рабочего стола сервера на свой компьютер. Он не запустится.

  • 🔗 Ярлык .lnk хранит путь к файлу, например C:\Program Files\1cv8\common\1cestart.exe. На вашем ПК этого файла нет, если клиент 1С не установлен.
  • 🖥️ Даже если клиент 1С на ПК есть, ярлык запустит локальную программу, а не сеанс на сервере. Базы, настройки и лицензии останутся на сервере.
  • 📁 Файловая база на сервере доступна только внутри сеанса RDP. Пути вида D:\Base\Buh на локальном компьютере ведут в никуда.

Получается, ярлык должен запускать клиент удалённого рабочего стола, а уже он — 1С на стороне сервера. Это делается тремя способами.

СпособЧто видит пользовательГде настраивается
alternate shell в .rdpОкно 1С на весь экран сеансаНа клиенте
Групповая политикаТо же, но для всех пользователейНа сервере
RemoteAppОтдельное окно 1С среди своих программНа сервере

Способ 1. RDP-файл с запуском 1С вместо рабочего стола

Самый быстрый вариант, если пользователей двое-трое и сервер настроен без коллекций RDS.

Шаг 1. Сохраните подключение в файл

  1. Нажмите Win + R, введите mstsc и нажмите Enter.
  2. Щёлкните «Показать параметры».
  3. На вкладке «Общие» укажите адрес сервера и имя пользователя.
  4. Нажмите «Сохранить как» и сохраните файл, например C:\RDP\1C-Buh.rdp.

Шаг 2. Допишите запуск 1С

В клиенте Windows 10/11 вкладки «Программы» в окне подключения нет, поэтому параметры дописывают вручную. Откройте файл в Блокноте (правый щелчок → «Открыть с помощью» → «Блокнот») и добавьте в конец две строки:

alternate shell:s:C:\Program Files\1cv8\common\1cestart.exe
shell working directory:s:C:\Program Files\1cv8\common

Если на сервере стоит 32-битная платформа, путь будет C:\Program Files (x86)\1cv8\common\1cestart.exe. Проверьте его в проводнике сервера, прежде чем вписывать.

💡 1cestart.exe — это стартер: он показывает список баз и сам выбирает нужную версию платформы. Указывать конкретную папку вида 8.3.24.xxxx\bin\1cv8.exe не стоит: после обновления платформы ярлык перестанет работать.

Шаг 3. Сделайте ярлык на рабочем столе

  1. Правый щелчок по рабочему столу → «Создать» → «Ярлык».
  2. В поле расположения введите:
%windir%\system32\mstsc.exe "C:\RDP\1C-Buh.rdp"
  1. Назовите ярлык, например «1С Бухгалтерия».
  2. В свойствах ярлыка нажмите «Сменить значок». Можно выбрать значок из %windir%\system32\mstscax.dll или положить рядом свой .ico с логотипом 1С.

Можно обойтись и без ярлыка: .rdp-файл сам открывается двойным щелчком. Ярлык удобен тем, что ему можно задать понятное имя и иконку.

Что учесть

  • 🚪 Когда пользователь закрывает 1С, сеанс завершается полностью: оболочки рабочего стола нет, процесс-«оболочка» закончился. Это нормальное поведение.
  • 🔒 На части серверов с ролью узла сеансов RDS параметр alternate shell из клиентского файла игнорируется, и пользователь видит обычный рабочий стол. Тогда переходите к способу 2 или 3.
  • ✏️ Пользователь может открыть тот же файл в Блокноте и стереть строку. Для защиты от этого лучше серверная настройка.

Способ 2. Запуск 1С при подключении через групповую политику

Если настраиваете терминальный сервер под бухгалтерию, где всем нужна только 1С, задайте программу на стороне сервера. Тогда любой .rdp-файл, даже без правок, откроет 1С.

  1. На сервере нажмите Win + R → gpedit.msc (для домена — та же политика в gpmc.msc, на нужном подразделении).
  2. Откройте ветку: Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Узел сеансов удаленных рабочих столов → Среда удаленных сеансов.
  3. Откройте политику «Запускать программу при подключении» и включите её.
  4. В поле имени программы укажите полный путь к 1cestart.exe, в рабочей папке — C:\Program Files\1cv8\common.
  5. Примените политику: gpupdate /force в командной строке от администратора.

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

Перед включением проверьте, что у вас есть второй способ войти на сервер с рабочим столом — консоль хостинга, iLO/iDRAC или другая учётная запись без этой политики. Иначе после ошибки в пути придётся восстанавливать доступ через консоль провайдера.

Ярлык 1С из командной строки: mstsc, пароль и параметры запуска

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

Параметры mstsc

Клиент принимает несколько ключей. Полезные для ярлыка 1С:

КлючЧто делает
/v:серверАдрес сервера (можно с портом: /v:srv.local:3390)
/fПолноэкранный режим
/w:1600 /h:900Размер окна
/multimonРастянуть сеанс на все мониторы
/adminПодключение к административному сеансу
/edit файл.rdpОткрыть файл на редактирование

Список всех ключей покажет mstsc /?.

Чтобы не вводить пароль каждый раз

Сохраните учётные данные в диспетчере Windows командой на компьютере пользователя:

cmdkey /generic:TERMSRV/srv1c.local /user:DOMAIN\buh1 /pass:Пароль

После этого mstsc подставит логин и пароль автоматически. Удалить сохранённую запись: cmdkey /delete:TERMSRV/srv1c.local.

⚠️ Пароль в открытом виде в .bat-файле — плохая идея. Выполните команду один раз вручную, а файл удалите. Если на сервере включена политика «Всегда запрашивать пароль при подключении», сохранённый пароль игнорируется.

Сразу нужная база

Строку alternate shell можно дополнить параметрами запуска 1С, чтобы пропустить окно выбора баз:

alternate shell:s:"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName"Бухгалтерия предприятия"

Здесь /IBName — имя базы ровно так, как оно записано в списке баз пользователя на сервере. Другие варианты:

  • /F"D:\Base\Buh" — файловая база по пути на сервере;
  • /S"srv1c\buh" — клиент-серверная база (сервер\имя базы);
  • /WA+ — вход через аутентификацию Windows, если пользователь 1С привязан к доменной учётной записи.

💡 Параметры /N и /P (имя и пароль пользователя 1С) в ярлык лучше не писать: файл лежит открытым текстом. Аутентификация Windows решает ту же задачу безопаснее.

Способ 3. RemoteApp: 1С в отдельном окне, как своя программа

RemoteApp показывает только окно 1С. Оно стоит на панели задач рядом с локальным Excel, его можно свернуть и развернуть, а рабочего стола сервера пользователь не видит. Для бухгалтерии это самый удобный вариант.

На сервере с развёрнутыми службами RDS

  1. Откройте «Диспетчер серверов» → «Службы удаленных рабочих столов» → «Коллекции».
  2. Выберите коллекцию сеансов, в блоке «Удаленные приложения RemoteApp» нажмите «Задачи» → «Опубликовать удаленные приложения RemoteApp».
  3. Если 1С нет в списке, нажмите «Добавить» и укажите C:\Program Files\1cv8\common\1cestart.exe.
  4. Опубликуйте именно 1cestart.exe, а не 1cv8.exe из папки конкретной версии — по той же причине, что и в способе 1.
  5. В свойствах опубликованного приложения можно задать параметры командной строки, например ENTERPRISE /IBName"Бухгалтерия предприятия", и ограничить доступ группой пользователей.

Для отдельных баз публикуйте 1С несколько раз с разными именами и параметрами: «1С Бухгалтерия», «1С ЗУП».

Без коллекций: через реестр

На сервере без полной роли RDS, например в рабочей группе, приложение регистрируют в реестре. Создайте раздел и значения:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\1C]
"Name"="1C"
"Path"="C:\\Program Files\\1cv8\\common\\1cestart.exe"
"CommandLineSetting"=dword:00000001

Значение CommandLineSetting = 1 разрешает передавать параметры из клиентского файла. Затем на клиенте сделайте .rdp с такими строками:

full address:s:srv1c.local
remoteapplicationmode:i:1
remoteapplicationprogram:s:||1C
remoteapplicationname:s:1С Бухгалтерия
remoteapplicationcmdline:s:ENTERPRISE /IBName"Бухгалтерия предприятия"

Ярлык на этот файл делается так же, как в шаге 3 первого способа.

Встречаются советы выставить fDisabledAllowList = 1 в разделе TSAppAllowList. Это разрешает запуск через RemoteApp любой программы на сервере. Для 1С достаточно зарегистрировать одно приложение.

Ярлыки в «Пуске» автоматически

Если на сервере развёрнут веб-доступ к удалённым рабочим столам, клиентские ПК можно подписать на ленту приложений: Панель управления → Подключения к удаленным приложениям и рабочим столам, адрес вида https://сервер/RDWeb/Feed/webfeed.aspx. Опубликованные приложения 1С появятся в меню «Пуск» и будут обновляться сами.

Какой способ выбрать для ярлыка 1С по RDP

СпособКогда подходитРиски и ограничения
alternate shell в файле1-3 пользователя, быстроМожет игнорироваться сервером; пользователь правит файл
Групповая политикаСервер только под 1СЗатронет всех, включая администратора
Командная строка + cmdkeyМассовая раздача ярлыковПароли нельзя хранить в скриптах
RemoteApp (коллекции RDS)Офис от 5 человек, доменНужна развёрнутая роль и лицензии RDS
RemoteApp через реестрНебольшой сервер без доменаРучная настройка, нет веб-доступа

Лицензии клиентского доступа к службам удалённых рабочих столов нужны в любом случае, если к серверу одновременно подключаются больше двух человек. Способ запуска 1С на это не влияет.

Какой у вас сервер?

Что ломается и как это починить

При подключении открывается рабочий стол, а не 1С. Сервер не принял alternate shell из файла. Проверьте, нет ли опечатки в пути. Если путь верный — используйте групповую политику или RemoteApp.

«Удаленное приложение отсутствует в списке разрешенных программ». Имя после || в строке remoteapplicationprogram не совпадает с именем раздела в TSAppAllowList\Applications или с псевдонимом в коллекции. Псевдоним видно в свойствах опубликованного приложения.

Сеанс закрывается сразу после входа. Программа по указанному пути не найдена или не запустилась. Зайдите на сервер с рабочим столом и запустите путь из .rdp вручную в командной строке.

1С пишет, что база заблокирована или занята. Пользователь закрыл окно RDP крестиком, сеанс остался «отключённым», 1С в нём продолжает работать. Для файловой базы это мешает обновлению. Задайте политику «Задать ограничение по времени для отключенных сеансов» в той же ветке «Узел сеансов удаленных рабочих столов → Ограничение сеансов по времени».

⚠️ Завершение отключённого сеанса закрывает 1С без сохранения. Ставьте лимит с запасом (например, 2-4 часа) и предупредите пользователей, что выходить из 1С нужно через меню, а не крестиком окна RDP.

Не печатает на локальный принтер. В .rdp должна быть строка redirectprinters:i:1, а на сервере — разрешено перенаправление принтеров. Для обмена файлами (выгрузка банковских выписок, загрузка XML) добавьте drivestoredirect:s:* — локальные диски появятся в 1С в окне выбора файла.

Мелкий шрифт на мониторе 4K. Добавьте в файл smart sizing:i:1 или задайте масштаб в поле desktopscalefactor:i:125. Если 1С выглядит размытой, пользователь может выставить масштаб в настройках самой 1С.

Как настроить удобно для всего офиса

  • 📦 Храните эталонные .rdp-файлы в общей папке и раскладывайте ярлыки групповой политикой «Ярлыки» в разделе предпочтений. Изменили сервер — поправили один файл.
  • 🗂️ Список баз для всех пользователей задайте в общем файле 1CEStart.cfg на сервере (параметр CommonInfoBases со ссылкой на общий .v8i). Тогда новый бухгалтер сразу видит нужные базы.
  • 🧹 Если после обновления конфигурации у части пользователей «странно» ведёт себя интерфейс, запустите 1С из того же ярлыка с параметром /ClearCache один раз. Он очищает кеш клиента в профиле пользователя на сервере.
  • ⏱️ Задайте лимиты простоя и отключённых сеансов: так файловые базы не остаются занятыми на ночь, и регламентные задания и обновления проходят без выгона людей вручную.
  • 🔐 Не открывайте порт 3389 в интернет напрямую. Для удалённых сотрудников используйте VPN или шлюз удалённых рабочих столов (RD Gateway) — в .rdp для него есть строка gatewayhostname:s:.