Развёртывание платформы 1С:Предприятие 8.3 на рабочие места через Active Directory

· 10 мин

Содержание

Чтобы установить 1С через групповые политики, берут MSI-пакет из дистрибутива платформы, кладут его в сетевую папку с правом чтения для группы «Компьютеры домена» и назначают компьютерам в объекте GPO: Конфигурация компьютера → Политики → Конфигурация программ → Установка программ. Набор компонентов (толстый клиент, тонкий клиент, конфигуратор) и язык задают трансформами MST. Пакет ставится при следующей перезагрузке, до входа пользователя, от имени системы — права администратора у сотрудников не нужны.

Схема одинакова для любой платформы 8.3 и не зависит от конфигурации: Бухгалтерия, ЗУП и УТ работают на одном и том же клиенте. Ниже порядок, который годится и для 10 машин, и для 500, плюс то, что обычно ломается.

Что нужно подготовить до настройки GPO

Перед работой проверьте четыре вещи:

  • 🖥️ Домен Active Directory и права на создание объектов групповой политики (Domain Admins или делегированные права на нужное подразделение).
  • 📁 Файловый сервер, доступный всем рабочим станциям по UNC-пути вида \\fs01\Distr$\1C\8.3.25.1394. Номер версии здесь и дальше — пример, подставьте свой.
  • 📦 Полный дистрибутив платформы под нужную разрядность: windows64full для 64-битных клиентов или windows full для 32-битных. Тонкому клиенту хватает отдельного дистрибутива тонкого клиента .
  • 🛠️ Orca — редактор MSI из пакета Windows SDK. Он нужен, чтобы собрать свой трансформ с набором компонентов.

Отдельное подразделение (OU) с компьютерами бухгалтерии сильно упрощает жизнь. Политику вешают на него, а не на весь домен, и пилот на двух-трёх машинах не задевает остальных.

Сначала выберите разрядность. 64-битная платформа не встанет на 32-битную Windows, а смешанный парк лучше разделить на две политики с WMI-фильтрами (о них ниже).

Шаг 1. Дистрибутив 1С и трансформ MST

После распаковки архива в папке лежат setup.exe, основной пакет 1CEnterprise 8 (x86-64).msi (у 32-битного дистрибутива — без суффикса разрядности) и набор файлов .mst. Групповая политика умеет работать только с MSI, поэтому setup.exe нам не нужен.

Что за трансформы в комплекте:

ФайлНазначение
1049.mstрусский язык интерфейса установщика
1033.mst и другие числовыепрочие языки
adminstallrestart.mstсценарий установки при перезагрузке компьютера
adminstallrelogon.mstсценарий установки при повторном входе пользователя

Языковой и сценарный трансформы фирма 1С описывает как раз для развёртывания через политики. Но компоненты по умолчанию в MSI выбраны не всегда так, как нужно вам. Например, на рабочие места бухгалтеров ставить сервер 1С и модуль веб-сервера незачем. Поэтому делаем собственный трансформ.

Как собрать свой MST в Orca

  1. Откройте MSI в Orca и выберите Transform → New Transform.
  2. Перейдите в таблицу Property и добавьте строки со свойствами установки:
СвойствоЗначениеЧто делает
DESIGNERALLCLIENTS1конфигуратор и общие файлы клиентов
THICKCLIENT1толстый клиент
THINCLIENT1тонкий клиент
THINCLIENTFILE1тонкий клиент для файловых баз
SERVER0не ставить сервер 1С
WEBSERVEREXT0не ставить модули веб-сервера
CONFREPOSSERVER0не ставить сервер хранилища
SERVERCLIENT0не ставить администрирование сервера
CONVERTER770не ставить конвертер баз 7.7
LANGUAGESRUязык интерфейса
  1. Выполните Transform → Generate Transform и сохраните файл, например 1c-client.mst.
  2. Закройте MSI без сохранения изменений в самом пакете. Исходный MSI должен остаться нетронутым, иначе установка и последующее удаление пойдут непредсказуемо.

Те же свойства работают в командной строке. Перед тем как отдавать трансформ в политику, проверьте его вручную на тестовой машине:

msiexec /i "\\fs01\Distr$\1C\8.3.25.1394\1CEnterprise 8 (x86-64).msi" ^
  TRANSFORMS="adminstallrestart.mst;1049.mst;1c-client.mst" ^
  /qn /l*v C:\Temp\1c-install.log

Код возврата 0 и появившаяся папка C:\Program Files\1cv8\8.3.25.1394\bin означают, что трансформ собран правильно. Если что-то не так, ответ почти всегда есть в логе 1c-install.log: ищите строку Return value 3, над ней будет причина.

Шаг 2. Сетевая папка с дистрибутивом и права на неё

Установка по назначению компьютеру выполняется от учётной записи SYSTEM. В сети такая машина представляется своей учётной записью компьютера. Отсюда главное правило:

  • ✅ Права общего ресурса: «Чтение» для «Компьютеры домена» (Domain Computers) или для «Прошедшие проверку» (Authenticated Users — в эту группу входят и компьютеры).
  • ✅ Права NTFS: «Чтение и выполнение» для той же группы.
  • ✅ Запись — только администраторам, чтобы никто не подменил пакет.

Каждую версию платформы кладите в отдельную подпапку с номером версии и больше её не трогайте. GPO запоминает путь к пакету. Если удалить или переместить старую папку, машины не смогут ни переустановить, ни корректно удалить эту версию.

Путь к пакету в политике указывается только в UNC-формате. Подключённый диск Z:\ при загрузке компьютера не существует, и установка тихо не сработает.

Для отказоустойчивости в организации с несколькими площадками используют пространство имён DFS: путь \\corp.local\Distr\1C\... не зависит от конкретного файлового сервера.

Шаг 3. Объект групповой политики для установки 1С

  1. Откройте консоль gpmc.msc, щёлкните правой кнопкой по OU с компьютерами и выберите «Создать объект групповой политики в этом домене и связать его». Назовите понятно: Install 1C Platform 8.3.25.
  2. Откройте политику на редактирование и перейдите в Конфигурация компьютера → Политики → Конфигурация программ → Установка программ.
  3. В контекстном меню выберите Создать → Пакет и укажите MSI по UNC-пути.
  4. В окне выбора метода развёртывания отметьте «Особый» (Advanced). Только так откроется вкладка с трансформами.
  5. На вкладке «Модификации» добавьте adminstallrestart.mst, 1049.mst и свой 1c-client.mst. Порядок важен: трансформы применяются сверху вниз, ваш с компонентами — последним.
  6. На вкладке «Развёртывание» проверьте, что тип — «Назначенный». Если клиентов разной разрядности обслуживает один 32-битный пакет, откройте «Дополнительно» и включите доступность 32-битного приложения на 64-битных машинах.
  7. Нажмите «ОК» и обновите политику на пилотной машине: gpupdate /force, затем перезагрузка.

Трансформы добавляются только в момент создания пакета. Забыли MST или ошиблись в нём — пакет придётся удалить из политики и создать заново.

Почему именно компьютер, а не пользователь? Назначение пользователю ставит пакет при входе и требует, чтобы MSI корректно работал в контексте конкретного профиля. Для платформы, которая живёт в Program Files и нужна всем сотрудникам на машине, назначение компьютеру надёжнее и предсказуемее. Сценарий «Опубликованный» (Published) существует только для конфигурации пользователя и предлагает поставить программу через «Программы и компоненты». Для 1С он почти не используется.

Шаг 4. Тонкая настройка параметров установки

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

Ожидание сети при загрузке. На современных Windows вход возможен до того, как сеть поднялась, и установка ПО откладывается на следующую перезагрузку. Включите в той же GPO параметр Конфигурация компьютера → Политики → Административные шаблоны → Система → Вход в систему → Всегда ждать сеть при запуске и входе в систему.

Фильтрация. Политику можно сузить двумя способами:

  • 🎯 Фильтр безопасности — оставьте в нём группу компьютеров, например GRP-1C-Clients, вместо «Прошедших проверку». Важно, чтобы у группы «Прошедшие проверку» осталось хотя бы право чтения политики на вкладке «Делегирование», иначе GPO не прочитается.
  • 🧩 WMI-фильтр — отсекает машины по разрядности ОС:
SELECT * FROM Win32_OperatingSystem WHERE OSArchitecture LIKE "64%"

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

Общий список баз. Сама установка платформы не добавляет базы в список. Чтобы у всех сразу был одинаковый перечень, положите файл .v8i в сетевую папку и раздайте через предпочтения GPO файл 1cestart.cfg в %APPDATA%\1C\1CEStart\ со строкой:

CommonInfoBases=\\fs01\Bases$\company.v8i

Драйвер защиты. Если лицензии на аппаратных ключах HASP, драйвер ключа разверните отдельной задачей. Для программных лицензий он не нужен.

Запасной путь: сценарий автозагрузки компьютера

Бывает, что MSI через «Установку программ» не устраивает: нужен свой порядок действий или проверка условий. Тогда используют сценарий в Конфигурация компьютера → Политики → Конфигурация Windows → Сценарии → Автозагрузка. Он тоже выполняется от SYSTEM до входа пользователя.

@echo off
set VER=8.3.25.1394
set SRC=\\fs01\Distr$\1C\%VER%
if exist "%ProgramFiles%\1cv8\%VER%\bin\1cv8.exe" exit /b 0
msiexec /i "%SRC%\1CEnterprise 8 (x86-64).msi" ^
  TRANSFORMS="adminstallrestart.mst;1049.mst;1c-client.mst" ^
  /qn /norestart /l*v "%SystemRoot%\Temp\1c-%VER%.log"

Проверка наличия 1cv8.exe не даёт сценарию запускать установку при каждой загрузке. Если ставите только тонкий клиент, проверяйте 1cv8c.exe.

СпособКогда выбиратьМинусы
Установка программ (MSI)стандартный случай, нужен учёт и удаление через GPOтрансформы не поменять после создания пакета
Сценарий автозагрузкинужны проверки, свои ключи, установка вместе с драйверомудалять придётся тоже скриптом, нет встроенного учёта

Обновление 1С через групповые политики

Каждая сборка платформы — отдельный продукт со своим кодом в Windows Installer. Новая версия ставится в свою папку рядом со старой: C:\Program Files\1cv8\8.3.24.xxxx и ...\8.3.25.xxxx спокойно живут на одной машине. Ярлык запускает 1cestart.exe из папки common, и он по умолчанию выбирает самую свежую установленную версию.

Порядок обновления:

  1. Скопируйте новый дистрибутив в новую подпапку и соберите трансформ заново. Свойства те же, но MST привязан к конкретному MSI, старый для новой версии не годится.
  2. В той же политике или в новой создайте пакет новой версии с тем же набором трансформов.
  3. На вкладке «Обновления» нового пакета нажмите «Добавить» и выберите старый пакет. Если хотите убрать старую версию, отметьте «Удалить существующий пакет, затем установить обновляемый».
  4. Проверьте на пилотной машине и только потом расширяйте охват.

Удалять старую версию сразу не обязательно. Если какая-то база ещё требует прежнюю платформу, в её свойствах в списке баз указывают нужную версию, и 1cestart запустит именно её. Старый пакет можно снять и позже: в свойствах пакета выберите Все задачи → Удалить и вариант немедленного удаления с компьютеров.

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

Кроме GPO, у 1С есть встроенный механизм: в 1cestart.cfg параметр DistributiveLocation указывает на папку с дистрибутивами, и клиент сам предлагает обновиться до версии, нужной серверу. Для обычных пользователей без прав администратора это неудобно, поэтому в домене обновления надёжнее вести политикой.

Почему 1С не ставится через GPO: диагностика

Первым делом на проблемной машине выполните gpresult /r и проверьте, что политика есть в списке примененных. Подробный отчёт: gpresult /h C:\Temp\gp.html.

Дальше смотрите журнал «Приложение» в просмотре событий. Нужны события от источников Application Management Group Policy и MsiInstaller. Для подробного лога включите параметр Административные шаблоны → Компоненты Windows → Установщик Windows → Ведение журнала со значением voicewarmupx. Логи появятся в %SystemRoot%\Temp с именами MSI*.log.

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

Ещё один частый сюрприз — установка «зависает» на экране «Применение параметров компьютера». Обычно это пакет без режима тихой установки или слишком медленный канал до файлового сервера. Для удалённых офисов положите дистрибутив на местный сервер или в реплику DFS.

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

Нужны ли пользователю права администратора?
Нет. Пакет, назначенный компьютеру, устанавливается от имени системы до входа в Windows. Пользователь получает готовые ярлыки.
Можно ли так же развернуть сервер 1С?
Технически да, но не нужно. Сервер ставят на единичные машины вручную: там важны учётная запись службы, порты, каталог кластера и регистрация службы.
Как раздать вместе с платформой список информационных баз?
Отдельно от установки: файл .v8i в сетевой папке плюс 1cestart.cfg с параметром CommonInfoBases, который раскладывают предпочтениями GPO.
Что будет с платформой, если компьютер вывести из OU?
Зависит от настройки пакета. Если включено удаление при выходе из области действия политики, платформа удалится при следующей перезагрузке; если нет — останется.
Можно ли поставить сразу две версии платформы?
Да. Каждая версия ставится в свою папку, поэтому в политике могут быть два пакета без связи обновления между ними.