Развёртывание платформы 1С:Предприятие 8.3 на рабочие места через Active Directory
Содержание
Чтобы установить 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
- Откройте MSI в Orca и выберите
Transform → New Transform. - Перейдите в таблицу
Propertyи добавьте строки со свойствами установки:
| Свойство | Значение | Что делает |
|---|---|---|
DESIGNERALLCLIENTS | 1 | конфигуратор и общие файлы клиентов |
THICKCLIENT | 1 | толстый клиент |
THINCLIENT | 1 | тонкий клиент |
THINCLIENTFILE | 1 | тонкий клиент для файловых баз |
SERVER | 0 | не ставить сервер 1С |
WEBSERVEREXT | 0 | не ставить модули веб-сервера |
CONFREPOSSERVER | 0 | не ставить сервер хранилища |
SERVERCLIENT | 0 | не ставить администрирование сервера |
CONVERTER77 | 0 | не ставить конвертер баз 7.7 |
LANGUAGES | RU | язык интерфейса |
- Выполните
Transform → Generate Transformи сохраните файл, например1c-client.mst. - Закройте 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С
- Откройте консоль
gpmc.msc, щёлкните правой кнопкой по OU с компьютерами и выберите «Создать объект групповой политики в этом домене и связать его». Назовите понятно:Install 1C Platform 8.3.25. - Откройте политику на редактирование и перейдите в
Конфигурация компьютера → Политики → Конфигурация программ → Установка программ. - В контекстном меню выберите
Создать → Пакети укажите MSI по UNC-пути. - В окне выбора метода развёртывания отметьте «Особый» (Advanced). Только так откроется вкладка с трансформами.
- На вкладке «Модификации» добавьте
adminstallrestart.mst,1049.mstи свой1c-client.mst. Порядок важен: трансформы применяются сверху вниз, ваш с компонентами — последним. - На вкладке «Развёртывание» проверьте, что тип — «Назначенный». Если клиентов разной разрядности обслуживает один 32-битный пакет, откройте «Дополнительно» и включите доступность 32-битного приложения на 64-битных машинах.
- Нажмите «ОК» и обновите политику на пилотной машине:
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, и он по умолчанию выбирает самую свежую установленную версию.
Порядок обновления:
- Скопируйте новый дистрибутив в новую подпапку и соберите трансформ заново. Свойства те же, но MST привязан к конкретному MSI, старый для новой версии не годится.
- В той же политике или в новой создайте пакет новой версии с тем же набором трансформов.
- На вкладке «Обновления» нового пакета нажмите «Добавить» и выберите старый пакет. Если хотите убрать старую версию, отметьте «Удалить существующий пакет, затем установить обновляемый».
- Проверьте на пилотной машине и только потом расширяйте охват.
Удалять старую версию сразу не обязательно. Если какая-то база ещё требует прежнюю платформу, в её свойствах в списке баз указывают нужную версию, и 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.