Массовое добавление базы или списка баз для пользователей терминального сервера.
Last updated
Was this helpful?
Last updated
Was this helpful?
Подключение новой базы для кучи пользователей занятие довольно муторное. Так что при частом обновление списка баз лучше использовать общие список баз. Но даже разовое подключение общего списка 10+ пользователям -- занятие не весёлое... Хорошо, что данный процесс можно автоматизировать парой команд на powershell. Ниже приведены примеры использования для добавления базы \ списка баз нескольким пользователям.
Обратите внимание данные команды АДЕКВАТНО НЕ РАБОТАЮТ С POWERSHELL ВЕРСИИ 2 И НИЖЕ. Так что для нормальной работе на Windows 7 и Windows Server 2008 нужно обновить версию powershell. Как обновить написано здесь:
Такой вариант подходит когда вам нужно разово подключить базу всем пользователям сервера. Список информационных баз конкретного пользователя хранится в файле:
C:\Users\<имя пользователя>\AppData\Roaming\1C\1CEStart\ibases.v8i
В файл нужно добавить информацию следующего вида:
Остальные записи добавляются автоматически.
Для удобства создаем файл Base.txt с нужной информацией. Добавить данные из base.txt в файлы всех пользователей можно командой powershell:
Add-Content -Path (Get-ChildItem C:\Users\*\AppData\Roaming\1C\1CEStart\ibases.v8i -Recurse -Force) (Get-Content .\Base.txt)
Команду нужно запустить с права администратора.
Тоже самое что и вариант 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) }
Команду тоже нужно выполнить от имени администратора. Также нужно убедиться, что имя пользователя в файле совпадает с именем папки в пути к профилю. Если различаются, то в файл нужно писать имя папки.
Если нужно относительно часто изменять списки баз пользователей, на мой взгляд, удобнее использовать общий список баз. Общий список -- общий файл 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=<путь к файлу>"
Запускать тоже с правами админа.
Чтобы подключить список для избранных пользователей, нужно аналогично варианту 2 создать файлик users.txt со списком пользователей. Powershell команда для добавления общего списка:
Get-Content -Path .\users.txt | foreach {Add-Content -Path C:\Users\$_\AppData\Roaming\1C\1CEStart\1CEStart.cfg "CommonInfoBases=<путь к фалу списка баз>"}
Запускать тоже с правами админа.
Источник: