Перетяжка, Дом карьеры
Перетяжка, Дом карьеры
Перетяжка, Дом карьеры

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

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

21К открытий24К показов

Допустим, вам нужно добавить пользователям терминального сервера параметры информационных баз для запуска 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-файлу:

@echo off

mkdir %UserProfile%\Desktop

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-файлу:

@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%

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

Следите за новыми постами
Следите за новыми постами по любимым темам
21К открытий24К показов