Ярлык, который сразу открывает 1С на сервере: RDP-файл, RemoteApp и групповая политика
Содержание
Чтобы ярлык на рабочем столе открывал 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. Сохраните подключение в файл
- Нажмите
Win + R, введитеmstscи нажмите Enter. - Щёлкните «Показать параметры».
- На вкладке «Общие» укажите адрес сервера и имя пользователя.
- Нажмите «Сохранить как» и сохраните файл, например
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. Сделайте ярлык на рабочем столе
- Правый щелчок по рабочему столу → «Создать» → «Ярлык».
- В поле расположения введите:
%windir%\system32\mstsc.exe "C:\RDP\1C-Buh.rdp"
- Назовите ярлык, например «1С Бухгалтерия».
- В свойствах ярлыка нажмите «Сменить значок». Можно выбрать значок из
%windir%\system32\mstscax.dllили положить рядом свой.icoс логотипом 1С.
Можно обойтись и без ярлыка: .rdp-файл сам открывается двойным щелчком. Ярлык удобен тем, что ему можно задать понятное имя и иконку.
Что учесть
- 🚪 Когда пользователь закрывает 1С, сеанс завершается полностью: оболочки рабочего стола нет, процесс-«оболочка» закончился. Это нормальное поведение.
- 🔒 На части серверов с ролью узла сеансов RDS параметр
alternate shellиз клиентского файла игнорируется, и пользователь видит обычный рабочий стол. Тогда переходите к способу 2 или 3. - ✏️ Пользователь может открыть тот же файл в Блокноте и стереть строку. Для защиты от этого лучше серверная настройка.
Способ 2. Запуск 1С при подключении через групповую политику
Если настраиваете терминальный сервер
под бухгалтерию, где всем нужна только 1С, задайте программу на стороне сервера. Тогда любой .rdp-файл, даже без правок, откроет 1С.
- На сервере нажмите
Win + R→gpedit.msc(для домена — та же политика вgpmc.msc, на нужном подразделении). - Откройте ветку:
Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Узел сеансов удаленных рабочих столов → Среда удаленных сеансов. - Откройте политику «Запускать программу при подключении» и включите её.
- В поле имени программы укажите полный путь к
1cestart.exe, в рабочей папке —C:\Program Files\1cv8\common. - Примените политику:
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
- Откройте «Диспетчер серверов» → «Службы удаленных рабочих столов» → «Коллекции».
- Выберите коллекцию сеансов, в блоке «Удаленные приложения RemoteApp» нажмите «Задачи» → «Опубликовать удаленные приложения RemoteApp».
- Если 1С нет в списке, нажмите «Добавить» и укажите
C:\Program Files\1cv8\common\1cestart.exe. - Опубликуйте именно
1cestart.exe, а не1cv8.exeиз папки конкретной версии — по той же причине, что и в способе 1. - В свойствах опубликованного приложения можно задать параметры командной строки, например
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:.