Легке керування списками баз 1С

«Краще день втратити, а потім за п'ять хвилин долетіти» © м/ф Крила, ноги і хвости.



На Хабре» є три відмінних поста про управління списками баз 8.х:

1. «Керування списками баз 1С 8.2»;
2. «Як приготувати сотні баз 1С і не зійти з розуму»;
3. «Керування списком баз 1С 8.2 з допомогою Active Directory».

Кожен з них має свій шматок пазла від повноцінної картини: Легке керування списками баз 1С.

Пролог

Наведена ідеологія побудови дозволяє легко масштабувати налаштування, як для простих офісів з одним доменом, так і для мультидоменной структури в складі лісу. Конкретну реалізацію рішення кожен вибирає під себе сам, але тут закладена основа щоб без зайвих зусиль отримати необхідну гнучкість. Рішення легко передається у спадок. Там немає скриптів. Зовсім ні. Взагалі.

Отже, з чим же ми боремося:

Користувачів стало багато! — обійти 40+ користувачів з єдиною метою прописати нову базу або змінити установки з'єднання у старої займе пристойний час. Добре, тим у кого є бійці техпідтримки.
Баз стало багато! — зоопарк баз, тестові бази з легкої подачі 1Сников виявляються в продакшне все ще перебуваючи на серверах для тестування. Множимо на кількість користувачів і жахаємося.
Невиразні назви баз! — в цьому місці, я щоразу уявляю, як своїми руками душу чергового 1Сника за базу з ім'ям «new2_baza2_copy» до якої прив'язана купа обробок, звітів і СОМ сполук. Тому що йому здалося логічним ТАК назвати нову базу. Організація ж одна і вона раптово не виросте. І він все пам'ятає. І ніколи не звільниться. А документацію ведуть слабаки. Та це ж завжди можна по швидкому переробити!
Часта ротація користувачів! — кожен новий користувач не знає які бази йому потрібні (Часто звучить: «Мені потрібні ВСІ»), співробітники часто змінюють посади, підрозділу, організації і як наслідок свої обов'язки.
Навантаження! Скрипти! — солодкі скрипти сканящие весь AD лісу в пошуках певних імен груп, щоб підключити одну базу. А хто його написав? На чому? Коли? Де коменти?
Де мої бази?! — упс. Багато рішень не дозволяють зберегти індивідуальний список баз 1С користувача і при цьому використовувати стандартний набір баз.
Кластери 1С? Сервера БД? — а є різниця? Їх може бути більше одного. Різних версій 1С, різних баз даних. Техпідтримка намагається знайти кінці, що б точно зрозуміти що конкретно прописувати у користувача на ПК.

Основну біль я описав.

Почнемо?

Спойлер?1. Вся представлена інфраструктура є тестовою і віртуальною. Будь-які збіги з назвами юридичних осіб є випадковими.
2. Вибачте мене за англійський інтерфейс на скріншотах з серверів. Я не міг інакше.
3. Повірте мені, я керівник групи системних адміністраторів, я знаю що я роблю! ©

Шість кроків до щастя:

Етап 1 — Інвентаризація
Беремо табличний редактор і 1Сников. І детально інвентаризуємо, можливо, навіть руками:

Народжується приблизно така таблиця:



Наше завдання зрозуміти, що де. Структурувати. Докладно розписати.

Етап 2 — Групи AD для баз 1С
Створення груп для баз в Active Directory, одразу пишемо в описі використовуваний кластер і сервер баз даних:



На виході отримуємо докладну інформацію про кожній базі в структурі Active Directory. Вказівка імені бази даних в імені групи AD сильно полегшує пошук групи для визначеної бази у великих інфраструктурах. Виділив користувачів, вибрав додавання в групу і вказав потрібне ім'я бази. Оп і все там. У той же час вашим колегам (або спадкоємцям) відразу буде видно яка група ОГОЛОШЕННЯ за яку базу відповідає і де база знаходиться.

Увага:
Крім створення груп AD для кожної бази необхідно створити додаткову групу AD «_Базы 1С — Доступ до файлу конфігурації 1CBases.cfg» — вона допоможе нам забезпечити доступ до файлового ресурсу, де зберігаються конфігурації v8i всіх необхідних нам баз. Включаємо в цю групу всі групи AD для баз 1С. Нові групи AD для баз 1С так само не забуваємо додавати. Ще нам знадобиться в її складі група Domain Computers, щоб дати можливість облікових записів ПК заходити на файловий ресурс. Про нюанси нижче.



Етап 3 — Файли конфігурацій 1С
Інвентаризацію зробили, групи AD для баз створили, тепер файли конфігурації v8i. Вони зберігають налаштування підключення до баз: кластер 1С та ім'я бази в цьому кластері.
Запускаємо 1С. Якщо є сформований список баз, називаємо їх красиво і зрозуміло.
Організація — Конфігурація — Версія конфігурації
Зберігаємо їх по правій кнопці у файли, файли іменуємо по імені бази. Дбайливо накопичуємо ці чудові v8i файлів в одному каталозі. Якщо початкового списку немає, можна створити один запис у списку, вона буде еталоном. З неї виводимо нові файли конфігурації v8i забиваючи необхідну інформацію безпосередньо текстом у файл.

На виході маємо файл з таким вмістом:



Позбавляємо кожен файл від зайвих рядків:



У підсумку отримуємо певну кількість v8i файлів конфігурації, стільки ж скільки і баз.

Наступний крок полягає в редагуванні загального файлу конфігурації баз для 1С.

За замовчуванням у ньому міститься зовсім не перелік баз:



Проведемо невеликі маніпуляції, і в ньому тепер вказуються шляхи до всіх файлів конфігурації v8i баз 1С.



Звернення до файлів v8i працює, як і з простою мережної папки на файловому сервері, так і з DFS ресурсом. Балансування навантаження, відмовостійкість? Так! Знаємо. Літаємо.

У підсумку маємо повний каталог файлів конфігурації v8i на кожну базу окремо, плюс загальний файл конфігурації в якому прописані всі шляхи до всіх файлів конфігурації v8i.

Етап 4 — Файловий або DFS ресурс
Створюємо каталог, в якому будуть лежати файли конфігурації v8i для підключення до кожної конкретної бази, а також загальний список баз — файл 1CEStart.cfg:
іменуємо каталог Sync-1CBases.
Ідеологічний підхід щодо доступу до спільних ресурсів, у всіх різний. Багато воліють ставити на сам загальний ресурс доступ Everyone — Full control, а далі рулити доступом на рівні файлової системи. Так простіше. Я віддаю перевагу відсікати доступ відразу на рівні самого загального ресурсу, не створюючи додаткового навантаження на файловий сервер зайвими перепроверками можливості доступу.

На новий мережевий ресурс даємо доступ групі «_Базы 1С — Доступ до файлу конфігурації 1CBases.cfg» права на читання.

Божественні мануали однією картинкою. Замість тисячі слів.



Увага:
Далі налаштовуємо безпека на рівні файлової системи.

Найперший крок — це скидання налаштувань за замовчуванням на об'єкти каталогу Sync-1CBases. Відключаємо успадкування дозволів. Залишаємо «SYSTEM», локальні Адміністратори, Адміністратори домену. Там, де є ліс можна додати адміністраторів підприємства та/або делегованих адміністраторів. Отриманий результат застосовуємо з успадкуванням. Тут же, не відходячи далеко від каси, додаємо групу AD «_Базы 1С — Доступ до файлу конфігурації 1CBases.cfg» з правом Читання і тільки на цей каталог без успадкування. На цьому кроці ми отримуємо можливість дістатися до кореня папки і отримати список файлів в каталозі.


досі не звикну до такого інтерфейсу налаштування прав доступу

Далі сама сіль:

На файл 1CEStart.cfg ми видаємо право на читання тільки групі AD «_Базы 1С — Доступ до файлу конфігурації 1CBases.cfg»



Потім на кожен файл конфігурації бази v8i видається доступ для своєї група доступу Active Directory:



Повторювати останній крок поки файли конфігурацій v8i баз даних не закінчаться.

Етап 5 — Групові політики
Дуже багато не використовують групові політики. Багато хто використовує їх зневажливо мало. Даремно-даремно-даремно. Це дуже потужний інструмент полегшує життя на роботі навіть в малих офісах.

Створюємо нову групову політику, линкуем її на корінь домену. Зазначаємо, що працює вона тільки з Domain Computers:



Головне одкровення (або нюанс) тут в тому, що список баз підключається не по користувачеві, а до ПК. На жаль, користувач не може з своїми правами замінити файл конфігурації, що знаходиться в C:\ProgramData\1C\1CEStart\ і за нього це зробить ПК.

Редагуємо політику:



Тут завдання взяти файл з спільного ресурсу і замінити локальний файл.
Що б це робили тільки ПК з встановленою 1С, задаємо умови виконання групової політики через Item Level Targeting.

Перевіряємо наявність встановленої 1С:



Це найбільш елементарна перевірка. Перевіряє як для х86 так і для х64 редакцій операційних систем. Не робить відмінностей між внутрішніми та клієнтськими ОС.

А ось самі умови перевірки можна дуже широко варіювати, застосовуючи ці налаштування до певним організаційним підрозділам, в залежності від умов доступності до мережевих ресурсів і багатьом іншим параметрам, що дає можливість максимально звузити умови спрацьовування даної групової політики.

Файл приводиться у відповідність при завантаженні ПК, або раз в 90+ хвилин.

Етап 6 — Користувач
Беремо користувача. І додаємо його в групи AD:



Після чого виробляємо вхід користувача в систему, запускаємо 1С, яка зчитує файл конфігурації і підключає всі файли v8i до яких у користувача є доступ. Результат:



Чого, власне, і добивалися.

При цьому дане рішення не зачіпає файл C:\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i у якому зберігаються бази, які прописав сам користувач. Втім, його завжди можна обнулити, щоб почистити список баз у користувача. Групові політики вам в руки!

Епілог
Формально я передав одну з безлічі варіантів реалізації. Передав ідеологію. Додаткові рішення до цієї статті можуть бути досить широкими:
Автоматичне створення файлу v8i, додавання його в cfg, створення групи AD для бази 1С.
Доступ для редагування для фахівців з 1С для цих файлів.
Перевірка актуальності файлу конфігурації cfg перш ніж замінювати його на ПК.
Для параноїків можна створювати cfg файли з передбаченими списками, а в v8i прописувати більше однієї бази. І взагалі робити імена v8i файлів без вказівки на ім'я бази.
Можна змінити спосіб доставки cfg файлу на ПК, де в конфігурації ПК змінюються права доступу до даного файлу, а користувач вже з своїми правами перезаписує його.
І багато іншого. Все що побажаєте. Кожен може вирішувати сам.

Загальна:
Користувачів стало багато! — не має ніякого значення.
Баз стало багато! — внесли базу 1Сники до реєстру, користувачі отримали її. Не внесли — база навіть самоподключенная зникне у користувача при наступному вході в систему, якщо включено обнулення списку локальних баз.
Невиразні назви баз! — яка різниця? У тебе завжди актуальна інформація. Немає повної інформації про базу — ні бази у користувачів.
Часта ротація користувачів! — була заявка підключити базу? Є база! Змінив місце або підрозділ, що втратив базу разом з скиданням прав.
Навантаження! Скрипти! — де? Навіщо? Балансування, точне націлювання, тільки актуальна інформація, легкість обслуговування і підтримки.
Де мої бази?! — не годиться! Ну або користуйтеся будь ласка. Всі задоволені.
Кластери 1С? Сервера БД? — ніякої плутанини. Всі вже задано налаштуваннями. Технарі зайняті корисними справами, а не з'ясуванням кому, куди і чого прописувати, як це обзивати і не залишити користувачів з ранку без облікової системи із-за оновлення.

Постскриптум

Я витратив день. Щоб ви за п'ять хвилин долетіли. Спасибі!

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.