Ярлык 1С на рабочем столе у каждого: от одной папки до групповой политики

· 9 мин

Содержание

Положите файл .lnk в папку C:\Users\Public\Desktop — ярлык появится на рабочем столе каждого пользователя этого компьютера. Для одной машины этого хватает. Для сотни рабочих мест в домене нужна групповая политика или скрипт, а на терминальном сервере — ещё и публикация приложения.

Ниже пять способов добавить ярлык 1С всем пользователям: от ручного до доменного. В конце — что делать, если ярлык не появился или ведёт «не туда» после обновления платформы.

Сначала решите, на что будет ссылаться ярлык

От этого зависит, как долго ярлык проживёт. Есть три варианта цели.

Цель ярлыкаЧто открываетсяКогда ломается
1cestart.exe из папки commonОкно запуска со списком базПрактически не ломается: путь не содержит номер версии
1cv8.exe из папки bin нужной версии, с параметрамиСразу нужная базаПосле обновления платформы, если версия в пути удалена
1cv8c.exe (тонкий клиент) с параметрамиСразу нужная базаТак же, как и предыдущий

Для обычных пользователей удобнее второй или третий вариант: клик — и база открыта. Для администраторов и тех, кто работает с несколькими базами, лучше 1cestart.exe.

Пример цели с параметрами для клиент-серверной базы:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8c.exe" ENTERPRISE /S "srv1c\buh_main"

Здесь srv1c — имя сервера 1С, buh_main — имя базы в кластере. Номер версии замените на установленный: посмотрите, какая папка лежит в C:\Program Files\1cv8. Для 32-разрядной платформы на 64-разрядной Windows корень — C:\Program Files (x86)\1cv8.

Если у пользователей уже настроен список баз, можно запускать по имени из списка: параметр /IBName "Название базы" вместо /S. Но тогда имя должно совпадать с тем, что записано в списке на каждом компьютере.

Ручной способ: общий рабочий стол Public

Подходит, когда компьютеров мало и к каждому проще подойти.

  1. Создайте ярлык у себя на рабочем столе: правая кнопка → «Создать» → «Ярлык».
  2. В поле расположения вставьте строку запуска из примера выше.
  3. Назовите ярлык так, как привыкли пользователи, например «1С Бухгалтерия».
  4. Скопируйте файл в C:\Users\Public\Desktop. Нужны права администратора.

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

То же для меню «Пуск»: положите ярлык в C:\ProgramData\Microsoft\Windows\Start Menu\Programs.

Минус ручного способа: при смене базы или версии платформы придётся обходить все компьютеры заново. Поэтому дальше — автоматизация.

Групповые политики: ярлык на весь домен

Через Preferences ярлык создаётся на каждом компьютере домена без скриптов. Нужна консоль управления групповой политикой и права на редактирование объекта GPO.

Настройка политики

  1. Создайте новый объект GPO и свяжите с подразделением, в котором лежат нужные компьютеры или пользователи.
  2. Откройте его на редактирование. Выберите «Конфигурация компьютера» (ярлык для всех пользователей машины) или «Конфигурация пользователя» (ярлык для конкретных людей).
  3. Перейдите: «Настройка» → «Параметры Windows» → «Ярлыки».
  4. Правая кнопка → «Создать» → «Ярлык».
  5. Действие — «Обновить»: оно создаёт ярлык и поправляет его, если параметры изменились. Вариант «Заменить» пересоздаёт при каждом применении, «Создать» не трогает уже существующий.
  6. Укажите имя, тип цели «Файловая система», расположение — «Рабочий стол всех пользователей» (в английской консоли All Users Desktop).
  7. В поле пути к объекту впишите путь к исполняемому файлу, в «Аргументы» — ENTERPRISE /S "srv1c\buh_main".

Таргетинг, чтобы не плодить битые ярлыки

На вкладке «Общие» включите «Нацеливание на уровне элемента». Условие «Файл существует» с путём к 1cv8c.exe оставит ярлык только там, где платформа действительно установлена. Для разных подразделений добавьте условие по группе безопасности: бухгалтерии — одна база, складу — другая.

Проверить результат на рабочей станции:

gpupdate /force
gpresult /r

Новые параметры Preferences обычно доезжают после повторного входа пользователя.

Скрипт PowerShell: когда политик недостаточно

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

$root = "C:\Program Files\1cv8"
$ver = Get-ChildItem $root -Directory |
    Where-Object { $_.Name -match '^8\.3\.\d+\.\d+$' } |
    Sort-Object { [version]$_.Name } -Descending |
    Select-Object -First 1

if (-not $ver) { exit 1 }

$exe = Join-Path $ver.FullName "bin\1cv8c.exe"
$lnkPath = "C:\Users\Public\Desktop\1С Бухгалтерия.lnk"

$shell = New-Object -ComObject WScript.Shell
$lnk = $shell.CreateShortcut($lnkPath)
$lnk.TargetPath = $exe
$lnk.Arguments = 'ENTERPRISE /S "srv1c\buh_main"'
$lnk.WorkingDirectory = Split-Path $exe
$lnk.IconLocation = $exe
$lnk.Save()

Что делает скрипт: находит папку самой новой установленной версии 8.3, сортируя имена как номера версий, а не как строки, и собирает ярлык под неё. Повторный запуск перезаписывает файл — скрипт идемпотентен.

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

Для отката достаточно Remove-Item "C:\Users\Public\Desktop\1С Бухгалтерия.lnk".

Общий список баз: пользователям не нужен ярлык на каждую базу

Иногда ярлык под каждую базу — лишнее. Тогда достаточно, чтобы окно запуска у всех показывало один и тот же перечень баз. Для этого стартёр читает общий файл списка.

В файле 1cestart.cfg задаётся параметр CommonInfoBases — путь к общему файлу .v8i на сетевом ресурсе. Файл настроек, действующий для всех пользователей компьютера, лежит в каталоге conf внутри папки установки платформы. Если файла нет, создайте его. Строка выглядит так:

CommonInfoBases=\\fileserver\1c\ibases.v8i

Сам ibases.v8i — обычный текстовый файл. Его проще получить, настроив список на одной машине, а затем скопировав готовый файл на сервер. Пользователи получат ваши базы в окне запуска, а менять список вы будете в одном месте.

Сочетайте: ярлык на 1cestart.exe через политику плюс общий список баз. Пользователь видит всё нужное, а вы не пересобираете ярлыки при добавлении новой базы.

Права на сетевой ресурс с файлом списка нужны только на чтение. Не давайте обычным пользователям запись: иначе кто-то случайно сломает список всем.

Терминальный сервер (RDS): ярлык не равен публикации

На сервере терминалов картина другая. Пользователи сидят на одной машине, и ярлык в C:\Users\Public\Desktop сервера появится у всех в их сеансах. Это решает случай «вход на полный рабочий стол».

Если пользователи запускают приложения через RemoteApp, ярлык на сервере им не поможет. Они видят то, что опубликовано:

  • 🖥 опубликуйте 1cv8c.exe или 1cestart.exe в коллекции сеансов как RemoteApp;
  • 🔗 для клиентов, подключающихся без домена, выдайте готовый .rdp-файл или адрес веб-доступа;
  • 📁 на клиентских компьютерах ярлык — это уже обычный .lnk на файл .rdp, его раскатывают теми же способами выше (Public, GPO, скрипт).

При публикации с параметрами запуска включите передачу аргументов командной строки в настройках RemoteApp и укажите в них ENTERPRISE /S "srv1c\buh_main". Без разрешения на аргументы публикация откроет окно запуска вместо базы.

Если профили пользователей роумингового типа или хранятся в виде отдельных дисков, ярлык из Public всё равно подмешивается при входе — он не лежит в профиле. Это плюс общей папки.

Параметры запуска, которые стоит заложить в ярлык

Один ярлык на всех — не значит один пользователь на всех. Несколько ключей командной строки пригодятся при массовой раздаче:

  • 👤 /N "Имя" — подставить имя пользователя информационной базы. Для общего ярлыка это обычно не нужно: у каждого свой логин.
  • 🔑 /P "пароль" — пароль в открытом виде. Не кладите пароль в общий ярлык: его прочитает любой, кто откроет свойства файла.
  • 🔕 /DisableStartupMessages — убирает сообщения при старте, которые раздражают на рабочих местах кассиров и кладовщиков.
  • 🌐 /L ru — язык интерфейса, если на машинах он отличается.

Если база открывается по аутентификации операционной системы, имя и пароль в ярлыке вообще не нужны. Это самый безопасный вариант для массовой раздачи: ярлык один, а доступ определяется учётной записью Windows.

Отдельно подумайте о значке. Ярлык с одинаковой иконкой для трёх разных баз путает людей. Задайте в IconLocation разные значки из набора платформы или собственные файлы .ico, положенные на сетевую шару, и называйте ярлыки по смыслу: «1С Бухгалтерия», «1С Зарплата», «1С Тестовая база».

Ещё одна мелочь, которую упускают: рабочая папка. Если поле WorkingDirectory пустое, платформа стартует из каталога пользователя, и относительные пути во внешних обработках могут вести не туда. Задайте папку bin платформы или каталог с обработками явно.

Ярлык не появился или не работает

Разберём по симптомам.

Диагностика: выберите симптом

Прежде чем править системные папки и массово менять политики, согласуйте это с администратором сети. Ошибка в GPO ударит сразу по всем рабочим местам подразделения.

Какой способ выбрать. Коротко по ситуациям.

Сколько у вас рабочих мест и где они?

Частые вопросы

Можно ли сделать ярлык 1С для всех, не имея прав администратора?
Нет. Запись в C:\Users\Public\Desktop и создание политики требуют повышенных прав. Без них можно только разместить ярлык в собственном профиле.
Нужно ли перезагружать компьютер после добавления файла в Public?
Нет. Ярлык появляется на рабочем столе сразу, иногда после обновления окна по клавише F5.
Как сделать так, чтобы пользователь не мог удалить ярлык?
Файл из Public без прав администратора удалить не получится: система предложит повысить права. Для ярлыков из GPO со значением «Обновить» удалённый файл вернётся при следующем применении политики.
Подойдёт ли тот же способ для меню «Пуск»?
Да. Вместо рабочего стола используйте общую папку программ меню «Пуск» либо расположение «Меню Пуск всех пользователей» в политике.
Ярлык нужно делать отдельно для 32- и 64-разрядной платформы?
Если на машинах стоят разные разрядности, пути отличаются: Program Files и Program Files (x86). В политике это закрывает условие «Файл существует», в скрипте — проверка обоих корней.