Как запретить клиенту домена создавать локальные домашние папки пользователей (например, C:\Users\MyUser)?

Как запретить клиенту домена создавать локальные домашние папки пользователей (например, C:\Users\MyUser)?

Я работаю с контроллером домена Windows Server 2012 R2 и в основном с клиентами Windows 7 Professional.

Я пытаюсь создать систему, в которой все пользовательские данные будут храниться на файловом сервере и считываться и записываться максимально синхронно (то есть, минимальное копирование пользовательских данных при входе и выходе из системы, без локальных профилей или хранилищ).

Для этого я использую и перенаправление папок, и перемещаемые профили пользователей в тандеме. Перенаправления папок находятся на файловом сервере по адресу,

\\MYSERVER\Home$\%USERNAME%

и перемещаемые профили на,

\\MYSERVER\Profile$\%USERNAME%

Я дополнительно использую групповую политику,

Computer Configuration
> Policies
  > Administrative Templates
    > System
      > User Profiles
        > Set user home folder

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

Location = On the network
Path = \\MYSERVER\Home$
Drive letter = Y:

Это имеет эффект нарастания,

\\MYSERVER\Home$\%USERNAME%

при Y:входе пользователя в систему, как и ожидалось. Однако, похоже, что когда пользователь запускает экземпляр командной строки, его «домашний» каталог — локальный,

C:\Users\%USERNAME%

Этот путь также является значением %USERPROFILE%. Более того, хотя Y:он смонтирован и доступен через проводник Windows, cd Y:в командной строке немедленно перенаправляет обратно на локальный C:. Имея опыт работы с Linux, это меня немного сбило с толку!

Итак, мой вопрос:как можно гарантировать, что домашняя папка пользователей домена будет правильно и полностью перенаправлена ​​в сетевую папку с помощью групповой политики?

решение1

Иногда есть серая зона между "домашним диском" и "профилем" пользователя. Вот несколько переменных окружения, которые следует иметь в виду:

Пользователь с «сетевым» домашним диском И «локальным» профилем
ДОМАШНИЙ ДИСК=Y:
ДОМОЙ=\
USERPROFILE=C:\Users\Снупи
HOMESHARE=\\SERVER\Home$\Snoopy

Пользователь с «сетевым» домашним диском И «перемещаемым» профилем
ДОМАШНИЙ ДИСК=Y:
ДОМОЙ=\
USERPROFILE=C:\Users\Снупи
HOMESHARE=\\SERVER\Home$\Snoopy

Пользователь без «сетевого» домашнего диска
ДОМАШНИЙ ДИСК=C:
HOMEPATH=\Пользователи\Снупи
USERPROFILE=C:\Users\Снупи

Обратите внимание, что:
1) USERPROFILE одинаков для всех 3 типов пользователей
. 2) Для пользователя БЕЗ сетевого домашнего диска USERPROFILE совпадает с (Homedrive + Homepath), а переменная окружения «HOMESHARE» отсутствует.

Существует 3 вида профилей: локальный, перемещаемый, обязательный.
Все 3 разновидности профилей Windows используют локальный путь профиля, но каждый из них использует его по-разному.
Даже для пользователей с перемещаемыми профилями USERPROFILE всегда C:\Users...
По всем этим причинам вы не можете предотвратить создание C:\Users\Name.

Вы можете управлять путем по умолчанию для «cmd» (для каждого ярлыка), установив параметр «запускать в» ярлыка cmd, или для всех cmd, запускаемых пользователем, установив раздел реестра:

GPO path: UserConf/Prefs/Windows/Registry
Key = HKEY_CURRENT_USER\Software\Microsoft\Command Processor
Type = REG_EXPAND_SZ
Name = Autorun
Value = CD /d %HOMEDRIVE%%HOMEPATH%

cmd Путь запуска

Вы можете использовать объекты групповой политики для перенаправления любой из папок «MyX» на сетевой путь, так что щелчок по элементу MyX в диалоговом окне файла будет перенаправлять на этот путь, но если кто-то вручную перейдет в C:\Users\Name\somePlace, ничто не сможет помешать ему записать данные на локальный путь.

MyDocuments folder redir:
GPO path: UserConf/Policies/Windows/FolderRedir/Documents

Каждая групповая политика имеет 2 ветви: компьютер, пользователь.
Вы не хотите использовать ветвь КОМПЬЮТЕР для управления домашними дисками ПОЛЬЗОВАТЕЛЯ. Я думаю, что ваш GPO "Компьютер/.../Установить домашнюю папку пользователя" может быть причиной проблемы с Y обратно на C. Вам не нужно использовать GPO для сопоставления буквы домашнего диска. Лучше всего контролировать это с помощью свойств учетной записи пользователя, и когда это сделано таким образом, она автоматически сопоставлена ​​ОС.

PS C:\> set-aduser snoopy -homeDrive "Y" -homeDirectory "\\server\home$\snoopy"

Пользователь Главная

Что касается вашей «асинхронной» цели, некоторые файлы в вашем профиле (ntuser.dat) блокируются во время входа в систему и могут быть скопированы только во время процесса входа/выхода из системы.

Связанный контент