воскресенье, 24 июня 2018 г.

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

Терминальный сервер: Windows Server 2012 R2 Standard

1) Создаем список баз.

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

3) В файл "C:\ProgramData\1C\1CEStart\1CEStart.cfg" добавляем путь к общему списку баз:
CommonInfoBases=E:\BaseList\ibases.v8i

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

Если требуется массово изменить имя базы или имя сервера, или другой параметр базы, это делается в одном файле  ibases.V8I один раз.


Если принципиально нужно поставить на рабочий стол список баз, это можно сделать, например, следующим образом.
Открыть командную строку от имени администратора, запустить редактор локальной групповой политики:
gpedit
В дереве выбрать "Конфигурация пользователя --> Конфигурация Windows --> Административные шаблоны --> Система --> Вход в систему --> Выполнять эти программы при входе в систему".
Указать команду или путь к bat-файлу:
@echo off
mkdir %UserProfile%\Desktop
copy E:\BaseList\ibases.V8I %UserProfile%\Desktop\ibases.V8I


И обновить политику: gpupdate /force


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

Если же требуется лишь заменить строчку с настройкой дерева в указанном файле, то указать путь к bat-файлу:
@echo off
setlocal enabledelayedexpansion
Set infile=%UserProfile%\AppData\Roaming\1C\1cv8\1cv8strt.pfl
Set find={"B",0},"AutoSortIBs",
Set replace={"B",1},"AutoSortIBs",
@echo off
setlocal enabledelayedexpansion
set COUNT=0
for /F "tokens=* delims=," %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%find%=%replace%!
Echo !TMPR!>>TMP.TXT
)
del %infile%
move TMP.TXT %infile%

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




Комментариев нет:

Отправить комментарий