gr1mm3r
@gr1mm3r
50% ответа в правильном вопросе. Остальное мануал.

Как можно задать перенаправление папки ProgramData при работе с RDS?

Дано (На примере бухгалтерии):
Есть папка ProgramData, RDS на основе сеансов и клиент одной из программ. При работе клиент создает в ProgramData свои куски. При работе с программой первый пользователь зашедший в один из пунктов меню или вызвавший генерацию отчета, блокирует общую библиотеку, находящуюся в ProgramData, в результате чего программа выдает ошибки по доступу к собственному ресурсу.

Требуется: Сделать перенаправление папки ProgramData или той папки которую создает программа внутри в AppData пользователя вошедшего на терминальный сервер.

По результатам гугленя были найдено решение на основе переписывания ветки HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Common AppData
Но оно черевато проблемами с другими программами.
Задать перенаправление в GPO кроме как изменением данного ключа реестра невозможно. Нет такой папки в остнастке.

Как можно безболезненно изолировать конкретную папку в AppData пользователя ?

UPD: Программа заточена под толстых клиентов.
  • Вопрос задан
  • 255 просмотров
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Путь к ProgramData задается в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
Но менять расположение в работающей винде не стоит, т.к. там полно "внутренних" ссылок, а так же на ProgramData есть ссылки в других местах. При переносе большая часть ссылок будут недействительны. Трудно даже предположить, что отвалится после подобного действия.
Вижу единственный рабочий вариант - изменение расположения ProgramData в процессе установки винды с помощью файла ответов, может есть и другие варианты задать новое расположение папки при установке.
Но, на сколько я понимаю, перенос ProgramData вам ничего не дасть, т.к. эта папка одна для всех пользователей, она и в новом месте будет такой же.

По AppData. Перенесите целиком профиль пользователя. Вместе с ним перенесется и пользовательский AppData. Ручной перенос профиля описывал тут несколько раз.
Как вариант - перенести конкретную папку из AppData и создать на прежнем месте ссылку в новое местоположение.
Но, пользовательская AppData находится в пользовательском профиле и она уже изолирована от других пользователей. Так что о какой дополнительной изоляции идет речь.

И еще. Динамические библиотеки (на сколько я понял речь идет о такой библиотеке) открываются в режиме многопользовательского доступа. Т.е. несколько программ могут легко использовать одну и ту же библиотеку. Это так работает всегда на системном уровне и изменить это нельзя.
Это значит, что внутри библиотеки блокируется какой-то другой ресурс, который становится не доступным другим пользователям. Вам надо выяснить у разработчика программы что там блокируется и как с этим бороться.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы