1C 8, подключение баз посредством GPO

Файл, где 1С 8 версии хранит информацию о подключенных базах располагается по пути %APPDATA%\1C\1CEStart\ibases.v8i и по формату представляет собой практически стандартный .ini файл за одним исключением – русский язык в названии баз 1С 8 понимает исключительно UTF8. А Windows русские названия через GPO пишет исключительно в кодировке Windows -1251. Так что придется или использовать транслитерацию, или жёстко извращаться ради русских названий баз.

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

И так начнем.

Первым делом мы создаем в AD две группы безопасности. Называем их, к примеру, 1C_TEST_Base_A и 1C_TEST_Base_B.

Затем идем в “Управление групповой политикой”, создаем два объекта групповой политики и привязываем их к верхнему подразделению, где находятся ваши пользователи.

Я, поскольку показываю тестовую инсталляцию, подразделение называется TEST, но можно привязать хоть к корню домена.

Затем, указываем, что применяются эти объекты на указанные группы безопасности. В GPO 1C_TEST_Base_A добавляем одноименную группу 1C_TEST_Base_A. А в GPO 1C_TEST_BASE_B, соответственно 1C_TEST_Base_B.

Затем удаляем группу “Прошедшие проверку” (Authenticated users), иначе политика будет применяться на всех авторизованных пользователей. Должно получиться вот так:

Для второй группы делаем аналогично.

Теперь идем настраивать GPO.

Берем тестового пользователя и подключаем ему базы посредством 1C. Закрываем программу.

Идем в %APPDATA%\1C\1CEStart\ibases.v8i

Берем файл ibases.v8i

Открываем в Блокноте.

Видим что-то типа этого:

[TEST_Base_A]
Connect=File="\\fileserver1\1C\TEST_Base_A";
ID=926cef4e-b2c7-496a-ab3a-4e66d1274e2a
OrderInList=16512
Folder=/
OrderInTree=33024
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3
[TEST_Base_B]
Connect=File="\\fileserver1\1C\TEST_Base_B";
ID=3f239665-c3f4-4653-844f-b1a47f98d466
OrderInList=16640
Folder=/
OrderInTree=16640
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3

Пройдемся по параметрам:

Connect – путь до каталога базы

ID – внутренний идентификатор базы данных. Уникален.

OrderInList – порядок в списке при представлении списком

Folder – наименование ветви в дереве информационных баз

OrderInTree – порядок в ветви при представлении деревом

External- внешняя подключаемая запись конфигурации или нет

ClientConnectionSpeed – скорость соединения

App – тип соединения

WA – Тип аутентификации

Version – версия платформы.

В целом можно не углубляться в эти дебри и тупо переписать это один в один. Хуже работать не будет.

Вернемся к нашим GPO.

Открываем на редактирование 1C_TEST_Base_A.

Идем в Конфигурация пользователя\Настройка\Конфигурация Windows\INI-файлы

Жмем правую кнопку мыши – Создать – Файл .ini

Действие – “Заменить” (Мы же не хотим постоянно дописывать в файл данные).

Вводим путь к файлу: %APPDATA%\1C\1CEStart\ibases.v8i

Указываем имя раздела – это то, что у нас в квадратных скобках: TEST_Base_A

Указываем Имя свойства: Connect

Указываем значение свойства: File="\\fileserver1\1C\TEST_Base_A";

Получается вот так:

Идем в закладку “Общие параметры”:Помечаем указанные параметры.

Применяем.

Проходим по всем параметрам. Для упрощения задачи можно копировать и вставлять параметр в GPO, тогда придется менять только значения “Имя свойства” и “Значение свойства”.

В итоге должно получится вот так:

Повторяем это со вторым GPO и TEST_Base_B.

И так, что мы в итоге получаем:

Если пользователя или группу пользователей добавить в группу безопасности 1C_TEST_Base_A, то при следующем входе в систему и запуске 1С, они увидят базу TEST_Base_A.

Если пользователя или группу пользователей добавить в группу безопасности 1C_TEST_Base_B, то при следующем входе в систему и запуске 1С, они увидят базу TEST_Base_B.

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

А если в какой-то момент исключить пользователя из группы, то база исчезнет из списка при следующем входе в систему.

Это решение можно скомбинировать с разграничением файлового доступа, указав права на запись/чтение каталога с базой А, группе 1C_TEST_Base_A, а для каталога B, соответственно группе 1C_TEST_Base_B. Это позволит не лазить лишним людям где не надо.

Ссылки:

habrahabr

1s-portal.ru

Comments

comments