Перейти к содержимому

Ibases v8i как добавить базы

  • автор:

Управление общим списком баз 1С на терминальном сервере

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

Александр Рудницкий
Программист 1С компании CorpSoft24

Допустим, вам нужно добавить пользователям терминального сервера параметры информационных баз для запуска 1С, не подключаясь к сеансу пользователя и не зная пароля пользователя. Рассказываем, как это сделать.

В 1С все данные о списках баз хранятся в обычных текстовых, читаемых файлах с расширениями .cfg и .v8i, в кодировке utf-8. Как правило, у пользователей на компьютере 1С 8 хранит файлы списков баз в каталогах Профиль всех пользователей: C:\ProgramData\1C\1CEStart\ и Профиль пользователя: С:\Documents and Settings\%username%\Application Data\1C\1CEstart\ (или C:\Users\%username%\AppData\Roaming\1C\1CEStart\).

Содержимое профиля пользователя — два файла: 1CEStart.cfg и ibases.v8i. Содержимое директории профиля всех пользователей — только один 1CEStart.cfg.

При запуске 1С берёт список баз к представлению в файле пользователя, но предварительно читает настройки сначала из профиля всех пользователей C:\ProgramData\1C\1CEStart\1CEStart.cfg, а потом и из профиля пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg, и если в них есть ссылки на конфигурационные базы в сети, то добавляет их в этот файл.

Например, нам нужно, чтобы на терминальном сервере Windows Server 2012 R2 Standard обеспечивалась работа около 100 пользователей.

Создаём список баз:

Управление общим списком баз 1С на терминальном сервере 1

Копируем созданный список баз в общую, доступную для всех пользователей, директорию – тот самый список баз в директории %AppData%\1C\1CEStart с именем ibases.V8I

Управление общим списком баз 1С на терминальном сервере 2

Третьим шагом будет добавление в файл “C:\ProgramData\1C\1CEStart\1CEStart.cfg” пути к общему списку баз: CommonInfoBases=E:\BaseList\ibases.v8i

Управление общим списком баз 1С на терминальном сервере 3

Готово. Теперь при входе в систему у пользователя будет одинаковый список баз. Не нужно объяснять пользователю, как добавить базу, уточнять параметры и ставить галочки — всё уже есть.

Если требуется массово изменить имя базы или имя сервера, или другой параметр базы, это делается в одном файле ibases.V8I один раз. В случае, когда принципиально нужно поставить на рабочий стол список баз, это можно сделать следующим образом:

  • Открыть командную строку от имени администратора, запустить редактор локальной групповой политики: gpedit.
  • В дереве выбрать «Конфигурация пользователя –> Конфигурация Windows –> Административные шаблоны –> Система –> Вход в систему –> Выполнять эти программы при входе в систему».
  • Указать команду или путь к bat-файлу:

copy E:\BaseList\ibases.V8I %UserProfile%\Desktop\ibases.V8I

Управление общим списком баз 1С на терминальном сервере 4

  • И далее обновить политику: gpupdate /force.

Управление общим списком баз 1С на терминальном сервере 5

Если нужно, чтобы список баз отображался в виде дерева (иерархией), действия следующие:

  • Настраиваем список на отображение в виде дерева.
  • Копируем файл %UserProfile%\AppData\Roaming\1C\1cv8\1cv8strt.pfl в общую директорию, например, туда же: E:\BaseList\1cv8strt.pfl.
  • Открываем командную строку от имени администратора, запускаем редактор локальной групповой политики: gpedit.
  • В дереве выбрать «Конфигурация пользователя –> Конфигурация Windows –> Административные шаблоны –> Система –> Вход в систему –> Выполнять эти программы при входе в систему».
  • Указать команду или путь к bat-файлу:

copy E:\BaseList\1cv8strt.pfl %UserProfile%\AppData\Roaming\1C\1cv8\1cv8strt.pfl

Если же требуется лишь заменить строчку с настройкой дерева в указанном файле, то указать путь к bat-файлу:

for /F «tokens=* delims=,» %%n in (!infile!) do (

move TMP.TXT %infile%

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

Как прописать список баз данных всем пользователям

Как прописать список баз данных всем пользователям

Для того, чтобы прописать список баз для всех пользователей домена или отдельного сервера (сервер терминалов/RDP) необходимо выполнить следующие операции:

  • запустить 1С на тестовом ПК/сервере, прописать все необходимые базы
  • скопировать файл из C:\Users\user_name\AppData\Roaming\1C\1CEStart\ibases.v8i (в нем хранится список баз по умолчанию для конкретного пользователя) в любое удобное место, например, C:\all_bases
  • открыть файл C:\Users\All Users\1C\1CEStart\1CEStart.cfg и внести следующие изменения:

CommonInfoBases=C:\all_bases\ibases.v8i

Готово, теперь у всех пользователей данного сервера будет один единый список баз 1С.

Управление списками баз 1С 8.2

Одно из правил управления временем — Если есть человек, которому можно делегировать выполнение задачи — делегируй.

Предыстория

Как я докатился до того, что — Я, системный администратор! — стал задаваться вопросами работы 1С?
Тирада в моей оригинальной статье, которую вряд ли кто читал, касалась того, какие лентяи 1С разработчики, и сами производители 1С, что одни понаделали много функций, но другие недостаточно хорошо описали, третьи поленились разобраться, а свалили всю рутину на системных администраторов, которым делать-то нечего, кроме как за элитой IT подметать. Думаю, здесь никто меня не похвалит за такие рассуждения. Хотя и похвалы особо не ищу. Единственная цель — чтобы это пригодилось кому-то, кто правильный лентяй-админ, и не любит заниматься одним и тем же помногу раз. А теперь о том, как это было.
Я столкнулся с таким положением дел, что всем сотрудникам наши 1С разработчики добавляют базы ручками, присутствуя на рабочем месте сотрудника, либо просят это сделать нас удалённо, подключившись к рабочему столу пользователя и мышкакликанием все повторить.
Выглядит это так:

— Миша, добавь Васи Пупкину базу: 1C-server:1551 «buh_prod»
— А как её назвать?
— Бухгалтерия

И не думайте, что в следующий раз, этот 1С разработчик скажет мне, что эту базу можно назвать именно также. Как следствие, у нас одна и та же база у разных сотрудников называлась по разному. Красота, не так ли?!
Ещё одна сторона этой проблемы в том, что Сотрудник должен быть на месте, компьютер включен, и у него должно быть время (5 мин), чтобы я мог всё это сделать. Если сотрудника нет на месте, то вы можете себе предположить, сколько от меня требуется трудозатрат, чтобы выловить этого сотрудника, согласовать с ним время и сделать это. А если этот сотрудник в удалённом офисе, на ноутбуке, и бывает в сети крайне редко, плюс разница поясов Владивосток — Москва, то это ещё добавляет остроты ощущений. Конечно, можно ещё ярлыком в почту бросить, но этим у нас 1С разработчики очень крайне редко пользуются — или не умеют, или не хотят, или за нас переживают, что без работы останемся, за что им отдельная благодарность и лучи поноса.
Баз у нас порядка пятнадцати. У каждой группы отдельный набор баз. А есть и такие, у кого строго индивидуальный список.
Следующая картина вам ещё больше понравится.
Поступает распоряжение от главы 1С’ников, что нужно трём отделам изменить базу, т.к. она переехала на другой сервер. Дальше не буду тратить буквы, т.к. всё что я описал выше множите на тридцать человек, двадцать из которых в другом офисе или даже другом городе. Классная задачка.
Не помню, сколько раз, я, таких суматох вынес, но было их больше десяти. После чего мне стало интересно, какие способы оптимизации этого процесса есть по unix-way’ю.
И стал я читать… Читал долго… Читал упорно… Документация 1С в справке мне совершенно не понравилась — написано так, как будто бы я уже это делал, поэтому большую часть идеи они оставляют между строк. Лучи поноса в написателей встроенной справки 1С. Как обычно это бывает, более-менее понятную инструкцию нашел на личном блоге, не помню уже кого.

Теория устройства конфигурационных файлов

В 1С организовано всё, что касается списков баз, в обычных текстовых, читаемых файлах с расширениями .cfg и .v8i, в кодировке utf-8. Так что, как вы наверняка догадываетесь, можно всё делать то же самое без отрыва пользователя, открывая файл по сети обычным текстовым редактором и правкой на прямую.

Расположение файлов на стороне пользователя

У пользователя на компьютере 1С 8.2 хранит фалы списков баз в каталогах:

Для Windows XP:
Профиль всех пользователей: С:\Documents and Settings\All Users\Application Data\1C\1CEstart\
Профиль пользователя: С:\Documents and Settings\%username%\Application Data\1C\1CEstart\

Для Windows 7:
Профиль всех пользователей: C:\ProgramData\1C\1CEStart\
Профиль пользователя: C:\Users\%username%\AppData\Roaming\1C\1CEStart\

Содержимое профиля пользователя — два файла: 1CEStart.cfg, ibases.v8i.
Содержимое директории профиля всех пользователей — один лишь, 1CEStart.cfg.

При запуске 1С берёт список баз к представлению в файле пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i, но предварительно читает настройки сначала из профиля всех пользователей C:\ProgramData\1C\1CEStart\1CEStart.cfg, а потом и из профиля пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg, и если в них есть ссылки на конфигурационные базы в сети, то добавляет их в этот файл.

Описание файла 1CEStart.cfg

В профиле всех пользователей конфигурационный файл C:\ProgramData\1C\1CEStart\1CEStart.cfg имеет следующее содержание:

InstalledLocation=C:\Program Files (x86)\1cv82 InstallComponents=DESIGNERALLCLIENTS=1 THINCLIENTFILE=1 THINCLIENT=0 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU 

Где:
InstalledLocation — содержит указание на каталог, в который выполнена установка 1С: Предприятие. По умолчанию это значение C:\Program Files (x86)\1Cv82.
CommonCfgLocation — указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром.
CommonInfoBases — указывает путь и имя файла (.v8i) со списком общих информационных баз.
DistributiveLocation — содержит указание на каталог, в котором будет производится поиск новой версии для автоматической установки.
InstallComponents — В локальном конфигурационном файле (1CEStart.cfg) содержит перечень установленных компонент с признаком нужно установить компонету — 1, или нет — 0.

Возможны следующие компоненты параметра InstallComponents:
DESIGNERALLCLIENTS — все клиенты и конфигуратор.
THINCLIENT — тонкий клиент для клиент-серверного варианта работы.
THINCLIENTFILE — тонкий клиент с возможностью работы с файловыми информационными базами.
SERVER — сервер 1С: Предприятия. Если программа установки запускается из программы запуска, то сервер будет установлен как приложение.
WEBSERVEREXT — компоненты расширения для веб-сервера.
CONFREPOSSERVER — сервер хранилища конфигураций 1С: Предприятия.
SERVERCLIENT — компоненты для администрирования кластера серверов 1С: Предприятия.
CONVERTER77 — конвертер информационных баз из версии 1С: Предприятия 7.7.
LANGUAGES — список языков интерфейса для установки. Если указано несколько языков, они перечисляются через ”,”. Пример: LANGUAGES=RU,UK,BG

В профиле пользователя конфигурационный файл C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg первоначально пустой. Но, если какие-то настройки необходимо сделать индивидуально для конкретного пользователя, то писать именно в него, и тут уже его ключи настроек будут иметь больший приоритет, но не все. Это отдельный вопрос, им я не буду сейчас захламлять голову.

Описание файла ibases.v8i

Второй важный файл информационных баз, который находится в профиле самого пользователя — C:\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i. В него и собирается конечный список баз. Пример его содержимого:

[PhoneBook] Connect=Srvr="1C-server:1551";Ref="phonebook"; ID=34891493-907f-4783-8a37-3cbc092a989a OrderInList=16640 Folder=/ OrderInTree=16640 External=1 ClientConnectionSpeed=Normal App=ThinClient WA=1 Version=8.2 [ITIL] Connect=File="\\Dvc-server\it\Equipment\Rarus\ITIL"; ID=2829c91a-137f-457c-93fe-9e74c8ec5ee4 OrderInList=16384 Folder=/ OrderInTree=256 External=1 ClientConnectionSpeed=Normal App=Auto WA=1 Version=8.2.14.540 

Где:
[phonebook] – название базы 1С. Может быть как русскими буквами, так и английскими. Это то, что видит пользователь.

Connect=Srvr="1C-server:1551";Ref="phonebook"; - место хранения базы. | | | | | | | |- наименование базы на сервере 1С. | | |------------- порт подключения, если отличается от стандартного. | |--------------------- адрес сервера. |----------------------------- тип подключения может быть: Srvr, File, ws - вэб-сервер. 

ID=34891493-907f-4783-8a37-3cbc092a989a — автоматически генерируемый уникальный код базы. Если у двух записей один и тот же ID, значит это одна база.
OrderInList=16640 — порядок в списке баз, когда базы представлены одним общим списком без подкаталогов; этот параметр из сетевого списка синхронизируется только в чистый ibases.v8i, если в ibases.v8i пользователя уже заполнен этой базой и этот параметр не будет перезаписываться, при его изменении в сети.
Folder=/ — задаёт место в дереве каталогов, если вид представления списка баз выставлен деревом; этот параметр имеет приоритет пользователя, и не меняется при изменении в сетевом конфиге.
OrderInTree=16640 — порядок в дереве, когда список баз представлен в виде иерархии подкаталогов; этот параметр имеет также приоритет пользователя, и синхронизируется только при первом добавлении базы, а далее подлежит изменению только локальным пользователем.
External=1 — внешняя подключаемая запись конфигурации или нет. Когда 0 тогда база присутствует только в этом файле. В данной ситуации эта запись импортируется из файла списка баз .v8i из сети. Это идентификатор, если это список баз расположенный в сети (расшаренный), то этот параметр можно вообще убрать из конфигурационного файла.
ClientConnectionSpeed=Normal — скорость соединения клиента. Опции могут быть “Nofmal” и “Low”. Логика ясна и без моих поиснений. Этот параметр интерактивный и при сетевом размещении синхронизируется при каждом запуске 1С.
App=Auto — тип соединения клиента. Бывает три типа:
— Auto — определяется сервером;
— ThinClient — тонкий клиент;
— ThickClient — толстый клиент.
Этот параметр интерактивный и синхронизируется при каждом запуске 1С.
WA=1 — этот параметр говорит о том, что система должна использовать windows авторизацию. Этот параметр интерактивный и синхронизируется при каждом запуске 1С.
Version=8.2 — используемая версия для этой базы. Если указать полностью конкретизируя какую платформу использовать, то будет использовать именно ту платформу, которую укажешь, как, например, во второй записи — Version=8.2.14.540. Этот параметр интерактивный и синхронизируется с сетевым конфигом при каждом запуске 1С.
Также есть ещё такой параметр как DefaultApp — тип соединения клиента по умолчанию, если в конфигурации для базы не задан, и DefaultVersion — используемая версия по умолчанию, если не задано в конфигурации для базы. Этот параметр пользовательский, и синхронизируется в чистый файл базы при первом запуске. Далее этим параметром управляет локальный пользователь.

Ссылки на конфигурационные файлы в сети
  • либо в конфигурационном файле всех пользователей C:\ProgramData\1C\1CEStart\1CEStart.cfg, если мы хотим показать базы для всех пользователей компьютера;
  • либо в конфигурационном файле конкретного пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg, если мы хотим показать базы только определённому пользователю на компьютере.
  • либо CommonCfgLocation=\\server\1C\config\bases.cfg — указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром. Название файла не играет принципиального значения, лишь бы расширение сохранялось;
  • либо CommonInfoBases=\\server\1C\config\buh_bases.v8i — указывает путь и имя файла (.v8i) со списком общих информационных баз. Название файла не играет принципиального значения, лишь бы расширение сохранялось;
  • или в комбинации и тот и другой, и помногу строк.
Идея использования возможностей

Идея заключается в том, чтобы делать правки с наименьшим количеством повторений. Если настройки базы или её расположение на сервере поменялось, то, исправив запись один раз в одном месте, мы получим актуальную информацию на всех компьютерах.
Для этого необходимо сделать шару в сети: \\server\1C\ . В этой шаре сделать, как минимум два каталога:
..\bases\
Листинг каталога:

\\server\1C\bases\.. .. base1.v8i base2.v8i base3.v8i base4.v8i 

В этом каталоге будут хранится файлы с расширением .v8i. Эти файлы будут иметь внутри себя настройки всего лишь одной базы для каждого файла. Причём указать следует только те параметры, настройки, которые критичны именно для этой базы, всё остальное автоматом подставится по умолчанию. Пример файла:

[Название базы] Connect= ClientConnectionSpeed=Normal App=Auto WA=1 Version=8.2 

Следует избегать использования параметра ID , т.к. 1С разработчики используют для создания новой базы копипаст из имеющейся базы. А базы с одним ID будут конфликтовать.
..\groups\
Листинг каталога:

\\server\1C\bases\.. .. buh.cfg fin.cfg managers.cfg 

В этом каталоге будут храниться файлы с расширением .cfg. Эти файлы будут иметь внутри себя ссылки на базы в каталоге ..\bases\. Пример файла:

CommonInfoBases=\\server\1C\bases\base1.v8i CommonInfoBases=\\server\1C\bases\base2.v8i 

В это каталоге мы создаём индивидуальные для группы пользователей или же для конкретного пользователя списки баз. Именно на файлы из этой группы мы ссылаемся в конфигурационных файлах операционной системы пользователя.
При такой схеме мы выносим управление списками баз 1С пользователей в сеть для не администраторов. На сетевой каталог с конфигурационными файлами дать доступ 1С разработчикам и пусть играются как хотят.
А если необходимо изменить настройки какой-то базы, то мы правим её всего одни раз в файле \\server\1C\bases\base.v8i, и это отразится у всех пользователей, т.к. все пользователи смотрят информацию о базе именно в этом файле.

Результат
  • Исправить название базы, место расположение, параметры запуска — всё можно сделать в одном месте и единожды.
  • Унификация названия баз — все пользователи о базе знают по одному общему названию.
  • Пользователь сам не сможет поломать конфигурационные настройки, т.к. они хранятся не на его компьютере.
  • Процесс управления списком баз на компьютере пользователя можно вернуть обратно 1С специалистам.
  • Возможность поправить конфигурационные файлы, даже если пользователь спит далеко за часовыми поясами, а компьютер на текущий момент выключен.
  1. Инструкция на корпоративной wiki, как это работает.
  2. Всяческое содействие при размещении конфигурационного файла, или базы, а также добавление пользователям нужных ссылок.
  3. Полгода на плавное приобщение к новой схеме работы.

Автоматическое подключение баз 1С, за минуту

Настройка серверов windows и linux

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов России Pyatilistnik.org. В прошлый раз я вас научил возвращать в Windows 10 меню » Загрузка последней удачной конфигурации» при нажатии клавиши F8. В сегодняшней статье я вам покажу, как автоматизировать подключение баз 1С пользователю, на его рабочем столе или терминальной сессии. Это полезно, так как снимает много ручной и рутинной работы со стороны системного администратора или программиста 1С.

Описание инфраструктуры

И так предположим, что у вас есть большое количество сотрудников, кто в своей работе использует программу 1С 8. Вам периодически приходится подключать им базы данных, тратя на это много времени. У части пользователей может быть локальный клиент 1С, кто-то может работать на RDS ферме, по удаленке. Вы хотели бы, чтобы каждому пользователю подключались его персональные базы 1С при входе в компьютер или терминал, а так же при необходимости простого ручного обновления в виде ярлыка, который запускает сценарий, невидимый для пользователя. Мои коллеги 1С написали скрипт, который на сетевую шару, выгружает файл «Имя домена-Логин пользователя.v8i» со списком персональных баз пользователя. Данный файл нам нужно будет подкладывать при входе сотрудника в его рабочее окружение.

Реализация подгрузки баз 1С

Когда пользователь открывает «1C Предприятие», то при отсутствии в конфигурационном файле путей до базы данных, он увидит картину:

Список информационных баз пуст. Добавить в список информационную базу

Список информационных баз пуст

За список баз данных, отвечают два файла:

  • 1cestart.cfg — в данном файле прописываются некоторые параметры и путь до файла .v8i
  • ibases.v8i — тут прописываются параметры подключения к базам данных.

Располагаются они в локальном профиле пользователя по пути:

C:\Users\логин пользователя\AppData\Roaming\1C\1CEStart

Если вы не видите папку AppData, то вам нужно включить просмотр скрытых папок и файлов.

Алгоритм такой:

  1. На сетевую шару выгружается файл имя домена.логин.v8i с персональным списком баз 1С
  2. Данный файл нужно копировать при входе пользователя на рабочую станцию или терминал в расположение C:\Users\логин\AppData\Roaming\1C\1CEStart\
  3. Если папки 1CEStart нет, то создать ее
  4. Создать или заменить файл 1cestart.cfg
  5. Прописать в файле 1cestart.cfg путь до файла со списком баз: CommonInfoBases=C:\Users\логин\AppData\Roaming\1C\1CEStart\файл имя домена.логин.v8i
  6. Создать на рабочем столе файл exe, который в случае предоставления пользователю новых прав на другие базы данных 1С, запустит скрипт локально и скопирует новый файл со списком баз, что сотруднику не пришлось производить выход из системы.

Код скрипта монтирования баз 1С

Для решения моей задачи, я написал скрипт PowerShell, который буду использовать при логине пользователя, ниже его текст с объяснениями.

# Разработчик скрипта Pyatilistnik.org
# переменная пути 1с C:\Program Files (x86)\1cv82 (8.2)
$path_1c82 = «C:\Program Files (x86)\1cv82»

# переменная пути 1с C:\Program Files (x86)\1cv8 (8.3)
$path_1c83 = «C:\Program Files (x86)\1cv8»

# переменная пути 1с C:\Program Files\1cv82 (8.2)
$path_1c82x64 = «C:\Program Files\1cv82»

# переменная пути 1с C:\Program Files\1cv8 (8.3)
$path_1c83x64 = «C:\Program Files\1cv8»

# Проверяем наличие в системе 1С, если нет то завершаем скрипт

if ((! (Test-Path «$path_1c83» -PathType Container -ErrorAction SilentlyContinue)) -and (! (Test-Path «$path_1c82» -PathType Container -ErrorAction SilentlyContinue)) `
-and (! (Test-Path «$path_1c82x64» -PathType Container -ErrorAction SilentlyContinue)) -and (! (Test-Path «$path_1c83x64» -PathType Container -ErrorAction SilentlyContinue)))
Write-Output «Paths $path_1c83 and $path_1c82 don’t exist»
Break
>

# Создаем переменную для сетевой папки с расположением файл с базами данных
$shared_folder = «\\root\1cbase\1CDatabaseLists»

# Создаем переменную копируемого файла с базами
$file_v8i = «$($env:USERDOMAIN)-$($env:USERNAME).v8i»

# Создаем переменную для расположения, куда копируем файл
$1CEStart_folder = «$($env:APPDATA)\1C\1CEStart»

# Проверяем наличие папки 1CEStart, если ее нет, то создаем
if (! (Test-Path $1CEStart_folder -PathType Container -ErrorAction SilentlyContinue))
New-Item $1CEStart_folder -ItemType D -Force
>

# Копируем файл со списками баз в C:\Users\username\Application Data\1C\1CEStart\
Copy-Item «$shared_folder\$file_v8i» -Destination «$1CEStart_folder\»

# Если файл 1cestart.cfg нет, то создаем его, перезаписываем его содержимое для пользовательской строки CommonInfoBases=путь до файла v8i ($1CEStart_folder\$file_v8i) `n переносит на новую строку
$Pattern = «CommonInfoBases=$1CEStart_folder\$file_v8i» #-replace («\\», «\\»)

# Получаем содержимое файла 1cestart.cfg
$1cestart_cfg_content = Get-Content «$1CEStart_folder\1cestart.cfg» -ErrorAction SilentlyContinue

# Запоминаем его содержимое и удаляем его
Remove-Item «$1CEStart_folder\1cestart.cfg» -Force -ErrorAction SilentlyContinue

# Создаем файл 1cestart.cfg если его нет
$file_added = $null

# Ищем наличие строки CommonInfoBases=$1CEStart_folder\$file_v8i и удаляем ее с заменой на правильную
foreach ($line in $1cestart_cfg_content)
if ($line -like «$Pattern*»)
Write-Output «Found match»
$line = «`n$Pattern`n»
$file_added++
>
$line | Out-File «$1CEStart_folder\1cestart.cfg» -Append
>

# Если файла нет, то создаем его с нужной строкой
if ($file_added -eq $null)
Write-Output «CommonInfoBases=$1CEStart_folder\$file_v8i`n» | Out-File «$1CEStart_folder\1cestart.cfg» -Append
>

Далее создаем групповую политику. В политике нужно настроить два момента:

  • Первое, это немедленное выполнение скрипта при входе, без 5-ти минутной задержки.
  • Второе, это в ветке «Конфигурация пользователя — Политики — Конфигурация Windows — Сценарии входа/выхода«. Далее открываем вкладку «Сценарии powerShell«, выбираем наш скрипт и обязательно выставите пункт «Запускать сценарии оболочки Windows PowerShell перед другими сценариями входа»

Монтирование баз 1с через PowerShell

Залогинившись, открыв «1C Предприятие» я вижу список нужных мне баз. Пройдя в каталог AppData. я наблюдаю два нужных мне файла.

Монтирование баз 1с при входе в компьютер

Открыв 1cestart.cfg я вижу путь до моего файла.

Автоматическое подключение баз 1С через powershell

добавление баз 1с на терминальном сервере

На этом у меня все. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Популярные Похожие записи:
  • Автоматическое удаления файлов в папке по заданным критериям
  • Автоматическое наполнение custom attributes в vCenter из Google SheetsАвтоматическое наполнение custom attributes в vCenter из Google Sheets
  • Автоматическое наполнение группы AD через PowerShellАвтоматическое наполнение группы AD через PowerShell
  • Get-ADUser и примеры использованияGet-ADUser и примеры использования
  • Скрипт перемещения папок профилей RDSСкрипт перемещения папок профилей RDS
  • Переменные среды Windows, примеры использованияПеременные среды Windows, примеры использования

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *