1C v8: Массовое добавление базы или списка баз для пользователей терминального сервера.

Подключение новой базы для кучи пользователей занятие довольно муторное. Так что при частом обновление списка баз лучше использовать общие список баз. Но даже разовое подключение общего списка 10+ пользователям -- занятие не весёлое... Хорошо, что данный процесс можно автоматизировать парой команд на powershell. Ниже приведены примеры использования для добавления базы \ списка баз нескольким пользователям.

Обратите внимание данные команды АДЕКВАТНО НЕ РАБОТАЮТ С POWERSHELL ВЕРСИИ 2 И НИЖЕ. Так что для нормальной работе на Windows 7 и Windows Server 2008 нужно обновить версию powershell.

Вариант 1. Подключить базу для всех пользователей сервера.

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

 C:\Users\<имя пользователя>\AppData\Roaming\1C\1CEStart\ibases.v8i

 В файл нужно добавить информацию следующего вида:


[<Название базы>]
Connect=Srvr="<имя/ip сервера>";Ref="<имя базы>";
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=<8.2 или 8.3>


Остальные записи добавляются автоматически.

Для удобства создаем файл Base.txt с нужной информацией. Добавить данные из base.txt в файлы всех пользователей можно командой powershell:

Add-Content -Path (Get-ChildItem C:\Users\*\AppData\Roaming\1C\1CEStart\ibases.v8i -Recurse -Force) (Get-Content .\Base.txt)

Команду нужно запустить с права администратора.

Вариант 2. Подключить базу для некоторых пользователей сервера.

Тоже самое что и вариант 1, только не для всех пользователей, а для определенного списка. Помимо файла Base.txt с информацией о базе создаем файл users.txt с именами пользователей. Powershell команда немножко изменится:

Get-Content -Path .\users.txt | foreach {Add-Content -Path C:\Users\$_\AppData\Roaming\1C\1CEStart\ibases.v8i (Get-Content .\Base.txt) }

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

Вариант 3. Подключить общий список баз всем пользователям на сервере.

Если нужно относительно часто изменять списки баз пользователей, на мой взгляд, удобнее использовать общий список баз. Общий список -- общий файл v8i, информация в котором распространяется на всех пользователей, у кого подключен. Настройки общих списков хранятся в файле

C:\Users\<имя пользователя>\AppData\Roaming\1C\1CEStart\1CEStart.cfg

и имеет вид  CommonInfoBases=<путь к файлу>

Powershell команда для подключения общего списка всем:

Add-Content -Path (Get-ChildItem C:\Users\*\AppData\Roaming\1C\1CEStart\1CEStart.cfg -Recurse -Force) "CommonInfoBases=<путь к файлу>"

Запускать тоже с правами админа.

Вариант 4. Подключить общий список некоторым пользователям на сервере.

Чтобы подключить список для избранных пользователей, нужно аналогично варианту 2 создать файлик users.txt со списком пользователей. Powershell команда для добавления общего списка:

Get-Content -Path .\users.txt | foreach {Add-Content -Path C:\Users\$_\AppData\Roaming\1C\1CEStart\1CEStart.cfg "CommonInfoBases=<путь к фалу списка баз>"}

Запускать тоже с правами админа.

Для удобства сохранил все команды в файлы .ps1. Скачать их можно отсюда.

 
1 1 1 1 1 1 1 1 1 1 Рейтинг 0.50 [3 Голоса (ов)]

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