Введение
В продолжение ранее опубликованной статьи, описывающей возможность запуска нескольких служб 1С на одном сервере, хотели бы рассказать об особенностях использования консоли администрирования северов «1С:Предприятия» разных версий. Дело в том, что при штатной установке данной консоли администрировать получится только сервер 1С одной версии. Если установлено несколько версий платформы на одном сервере и работает несколько служб 1С, встает вопрос о том, как же администрировать сервера 1С разных версий в рамках одного сервера?
Регистрация консоли 1С
Для регистрации консоли администрирования серверов «1С:Предприятие» фирма 1С предлагает использовать исполняемый файл RegMSC.cmd, расположенный в папке bin каталога сервера 1С. Данный файл можно запустить из меню «Пуск» в Windows: «1С Предприятие 8 -> Дополнительно -> [нужная версия платформы 1С] -> Регистрация утилиты администрирования серверов 1С Предприятия».
Файл RegMSC.cmd содержит следующий скрипт:
regsvr32 /n /i:user radmin.dll
Цель данного скрипта состоит только в том, чтобы зарегистрировать компоненту radmin.dll. На практике использовать данный скрипт неудобно, так как каждый раз перед запуском консоли администрирования серверов «1С:Предприятие» нужной версии приходится запускать соответствующий файл RegMSC.cmd. Плюс ко всему данный скрипт неработоспособен и нуждается в доработке (скорее всего, при его выполнении вы получите сообщение об успешной регистрации компоненты, но работать консоль не будет).
Итак, мы хотим получить работоспособный скрипт, который нам позволит автоматизировать и выполнять в один клик следующие действия:
- radmin.dll нужной версии.
- Запуск консоли кластера 1С.
Предлагаем изменить вышеуказанный скрипт и создать основной универсальный скрипт регистрации компоненты и запуска оснастки (консоли), а также создать «скрипты‑стартеры» консолей нужных версий. Вот, что у нас получилось:
rem %1 – полный номер версии «1С:Предприятия»
@echo off
start /wait regsvr32 /s "C:\Program Files (x86)\1cv8\%1\bin\radmin.dll"
start "C:\Windows\System32\mmc.exe" "C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"
Данный скрипт следует сохранить в исполняемый файл формата .bat (например, «start_console.bat»). Разберем данный скрипт поподробнее. За корректную регистрацию компоненты radmin.dll отвечает строка:
start /wait regsvr32 /s "C:\Program Files (x86)\1cv8\%1\bin\radmin.dll"
В качестве параметра (%1) в неё передается номер версии платформы 1С. Следующая строка отвечает за запуск консоли MMC с оснасткой для администрирования серверов «1С:Предприятие»:
start "C:\Windows\System32\mmc.exe" "C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"
Далее создадим «скрипт‑стартер», который позволит запустить консоль для администрирования сервера «1С:Предприятие», например, версии 8.3.7.1873. Выглядеть он будет следующим образом:
start_console 8.3.7.1873
Этот скрипт также нужно сохранить в исполняемый файл с расширением .bat и назвать соответствующим образом с указанием версии платформы 1С.
Так как регистрация компоненты radmin.dll не оказывает влияния на работу уже запущенных консолей администрирования серверов «1С:Предприятие», то с помощью данного подхода и предложенных скриптов мы можем запускать одновременно консоли администрирования серверов «1С:Предприятие» разных версий и успешно в них работать, с кластером своей версии в каждой. Готово, теперь вы можете администрировать несколько версий сервера 1С на одном сервере.
Обратите внимание, что в предложенных скриптах используются 32‑разрядные версии компонентов. При попытке аналогичным образом зарегистрировать 64‑разрядной компоненту, вы получите сообщение о том, что она успешно зарегистрирована, однако затем при запуске консоли администрирования серверов «1С:Предприятие» вероятнее всего увидите ошибку вида:
MMC could not create the snap in, Name: 1C:Enterprise (x86-64) Servers, CLSID:…
Пока данная проблема не решена, использование нескольких 64‑разрядных консолей администрирования серверов «1С:Предприятие» в рамках одного сервера не представляется возможным. Если у вас есть другая информация и вы знаете, как можно решить эту проблему — пишите нам, с радостью обновим статью.
Заключение
В статье мы описали метод, позволяющий использовать несколько консолей администрирования серверов «1С:Предприятие» разных версий. Это необходимо, если вы работаете на сервере с несколькими рабочими или тестовыми базами, для которых используемые версии сервера 1С различаются.
Надеемся, вы сможете с легкостью выполнить нужную вам задачу и продолжите с удовольствием пользоваться продуктами 1С. Ну а если у вас что‑то не получится, или вы столкнетесь с какими‑то трудностями, обращайтесь к нам, мы обязательно поможем!