Как запустить консоль администратора 1С для различных версий платформы

  • Михаил
  • 8 мин. на прочтение
  • 73
  • 27 Jan 2023
  • 27 Jan 2023

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

 

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

 

На этом этапе появляются сложности с запуском консоли для различных версий платформы. Необходимо каждый раз перерегистрировать версию radmin.dll при помощи regsvr32. Для этой операции у пользователя должны быть права администратора на сервере терминалов, без них пользователь не сможет это сделать.

 

В данной статье наш IT-инженер покажет и научит как запускать консоль управления сервером предприятия 1С для разных версий от обычного пользователя без прав администратора.

 

Рассмотрим это на наглядном примере. Необходимо подключиться к серверам предприятий версии которых 8.3.12.1616 и 8.3.18.1208. На терминальном сервере установлена компонента «Администрирование сервера 1С:Предприятия» из установочного файла (остальные компоненты не нужны):

Запускаю консоль кластера:

Подключившись к необходимому серверу с версией платформы 8.3.12.1616, можем увидеть следующее:

Подключение к кластеру установлено. Теперь пробуем подключится к серверу предприятия с версией 8.3.18.1208 в ходе подключения возникает вот такая ошибка:

Это ожидаемо, так как одна зарегистрированная консоль работает только с одной версией платформы. Для работы с другой версией, нужна перерегистрация консоли:

Следующим этапом будет подключение к серверу предприятия с версией 8.3.18.1208. При попытке подключится к серверу с версией 8.3.12.1616 я снова возникает ошибка различий версий. Повторно необходима регистрация утилиты, но уже версии 8.3.12.1616. Сама регистрация консоли стандартным способом – это запуск командного файла RegMSC.cmd из каталога соответствующей версии. На просторах интернета достаточно информации как это сделать и сделать более удобным способом, чтобы каждый раз не бегать по пунктам меню Windows. Важно - у пользователя должны быть права на регистрацию с помощью утилиты "regsvr32". то есть должны быть права администратора. И вот мы добрались до самого интересного момента.

 

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

 

В первую очередь необходимо создать командные файлы radmin_unreg_another.cmd и radmin_reg.cmd. Расположить их в каталоги соответствующих платформ (рядом с файлом RegMSC.cmd). Пример содержимого для версии 8.3.12.1616. По пути С:\Program Files (x86)\1cv8\8.3.12.1616\bin\

 

radmin_unreg_another.cmd: start /wait /b regsvr32 /u /s "C:\Program Files (x86)\1cv8\8.3.18.1208\bin\radmin.dll"

 

radmin_reg.cmd: start /wait /b regsvr32 /s "C:\Program Files (x86)\1cv8\8.3.12.1616\bin\radmin.dll""

 

Для версии 8.3.18.1208 будет путь С:\Program Files (x86)\1cv8\8.3.18.1208\bin\, а в cmd будут версии меняться соответственно.

 

Далее создаем два командных файла RunConcole8_3_12_1616.cmd и RunConcole8_3_18_1208.cmd и располагаем их в папке недоступной для пользователя – на системном диске C (этот диск скрыт от пользователей групповой политикой). Вот эти командные файлы.

 

RunConcole8_3_12_1616.cmd: rem Remove the old version runas.exe /savecred /user:USRConsole "C:\Program Files (x86)\1cv8\8.3.12.1616\bin\radmin_unreg_another.cmd" timeout 1 rem register a new version runas.exe /savecred /user: USRConsole "C:\Program Files (x86)\1cv8\8.3.12.1616\bin\radmin_reg.cmd" timeout 1 rem start the console start mmc "C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"

 

RunConcole8_3_18_1208.cmd: rem Remove the old version runas.exe /savecred /user: USRConsole "C:\Program Files (x86)\1cv8\8.3.18.1208\bin\radmin_unreg_another.cmd" timeout 1 rem register a new version runas.exe /savecred /user: USRConsole "C:\Program Files (x86)\1cv8\8.3.18.1208\bin\radmin_reg.cmd" timeout 1 rem start the console start mmc "C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"

 

Пользователя USRConsole заводим как локального администратора сервера терминалов. Можно создать данного пользователя как через политику (GPP), что предпочтительней, или сделать это непосредственно на сервере.

 

Завершающий этап состоит из двух частей:

 

  • Закидываем ярлыки на запуск этих командных файлов на рабочий стол администраторов 1с. В рассматриваемом примере настроены перенаправляемые/перемещаемые профиля, поэтому не составит труда проделать эту операцию.
  • Пользователь запускает ярлык. Запускается командный файл и сразу выдает запрос на ввод пароля для пользователя USRConsole. Если пользователь этого пароля не знает, ему необходимо обратиться к администратору сервера. Администратор может удаленно подключиться и ввести пароль. Сделать это будет достаточно один раз, так как пароль сохранится в системе благодаря параметру /savecred.

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

 

Админ 1с запускает ярлык с необходимой версией.

 

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

 

В итоге администратор 1с доволен. Он никак не зависит от админа сервера. Не хватит слов, чтобы описать эмоции вашего счастливого администратора сервера, который обретет спокойствие, его перестанут "дергать" каждый раз, когда необходимо отключить/подключить пользователя или заблокировать базу для выполнения обновления.