Перемещаемые профили пользователей windows server 2019

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

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

Рассмотрим процесс настройки перемещаемых профилей пользователей с использованием групповой политики.

Первым делом, создадим специальную группу. Назовем ее, к примеру, Users with roaming profiles.

Создание группы Users with roaming user profiles

Сразу после создания группы можно определить для кого и на каком компьютере будут действовать перемещаемые профили.

Поскольку нас интересует создание перемещаемых профилей для всех пользователей мы добавим в группу Users with roaming profiles всех пользователей домена и все компьютеры домена.

Добавление в группу Users with roaming profiles

На этом подготовка группы закончена, переходим к работе с файловой системой. На сервере, который будет хранилищем перемещаемых профилей создадим новый общий ресурс.

Создание общего ресурса

Если не стоит задачи управлять общим ресурсом (к примеру создавать квоты и ограничения), то выбираем профиль SMB Share ProFile

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

Если нужно создать общий ресурс на удаленном сервере, то Компоненты ролей должны быть установлены на управляемом и управляющем серверах.

После установки дополнительных компонентов перейдем непосредственно к созданию общей папки.

Определяем параметры Общего ресурса. К этому моменту папка для хранение перемещаемых профилей должна быть создана.

На следующем шаге включим галочку Enable acces-based enumeration. В этом случае пользователь будет иметь доступ только к файлам своего профиля.

Для организации совместного доступа потребуется произвести настройку прав

В частности нужно отключить наследование

Выбираем пункт

В данном примере нас будут интересовать только пользовательские файлы

Если добавление квот не требуется, продолжим работу мастера

Подготовка общего ресурса завершена, осталось все проверить и нажать кнопку Create.

Создав общий ресурс перейдем в редактор групповой политики для окончательно настройки перемещаемых профилей.

Создадим новый объект групповой политики

Создание объекта групповой политики

Откроем его для изменения и найдем параметр Set roaming path for all users logging omto this computer в ветке Computer Configuration-Profiles- Administartive Template Policity definitions-System-User Profile

Указываем путь к созданной ранее общей папке

Путь к общей папке

Ситуация 1. Переносим профили на другой сервер.

Можно сделать через групповые политики и перемещаемые профили, но проще всего перенести ветку реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList

и папки пользователей копированием.

Ситуация 2. Переносим профили на другой диск.

Зачем это надо? Для терминального сервера. За несколько лет размер занятого пространства диска C: (загрузочного раздела) может вырасти до сотен гигабайт и возникнут проблемы с резервным копированием, как это получилось у меня. Расчищая диск C: сразу увидел, что профили занимают больше 100GB. И квоты в общем-то тут не решат ситуацию, если квоты вообще допустимы для данной организации. Если пользователи работают с тонких клиентов и терминальный сервер получается единственным местом для хранения их информации, то объём этой информации будет расти и расти.

Кроме этого перенос профилей логически обоснован — для файлов профилей нужно индексирование поиска и теневые копии, для системных файлов индексирование не нужно, теневые копии.. даже не могу представить в какой ситуации это может быть востребовано. Для папок профилей бекап желателен, для загрузочного раздела — бекап необходим и большой суммарный объём профилей на этом же разделе сильно мешает, как уже говорил выше.

Первый вариант

Если система только-только установлена меняем значение ProfilesDirectory «%SystemDrive%Users» на новое расположение, в ветке реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList

профиль Администратора останется на старом месте, новые уже будут созданы по новому пути. Этого вполне достаточно. Однако при таком методе возможны проблемы при обновлении системы в дальнейшем.

Второй вариант

Другой вариант когда система относительно свежая, но уже есть пользователи и программы. В этом случае некоторые программы, например MS Office, прописали абсолютные пути к профилям на диске C:. Тогда лучше переместить все профили скриптом и создать символическую ссылку папки Users на новое месторасположение, загрузившись с установочного диска в командную строку:

robocopy C:Users D:Users /E /COPYALL /XJ 
rmdir C:Users /S /Q 
mklink /D C:Users D:Users

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

Shutdown -r -f -t 00

и пойти пить чай.

В реестре при этом менять ничего не надо и в этом большой плюс этого метода — система «думает», что все по прежнему на диске C:/ и корректно работает через символическую ссылку. Проверить можно набив путь к профилю пользователя как C:Users»какой-то пользователь» и откроется он именно как C:Users….., а не как D:Users…. (при переносе на D).

Установка разрешений

После переноса папок профилей для каждой из них нужно обязательно отключить наследование разрешений и поменять разрешения безопасности на следующие:

  1. System — Полный доступ;
  2. Administrators — Полный доступ;
  3. Учётка пользователя — Полный доступ;
  4. Больше ничего быть не должно.

Перенос профиля пользователя

Для самой папки Users разрешения следующие:

  1. System — Полный доступ;
  2. Administrators — Полный доступ;
  3. Users — Чтение/Выполнение;
  4. Все — Чтение/Выполнение.

То есть для корректной работы системы все разрешения в новом расположении должны соответствовать разрешениям, какие были на диске C:. Это важно.

Если же система довольно старая, профили по несколько гигабайт, пользоваться скриптом не рекомендую, лучше делать руками и не копировать, а перемещать, контролируя начальный размер папки профиля и размер перенесенного. В этом случае, это понятно и очевидно, ссылку для всей папки C:/Users создать нельзя, так как в ней есть открытые файлы нашего текущего профиля. Профили переносятся отдельно. Ссылка создаётся для каждого профиля отдельно. Свой профиль либо можно оставить и не переносить, либо перенести, временно создав второго админа. Создать, залогиниться под ним, перенести свой профиль, создать ссылку, установить разрешения, разлогиниться, зайти под собой, убить второго админа.

Одно замечание — при создании символических ссылок сразу проверяйте их работоспособность. Особенно когда ссылок создается сразу много.

Решение проблем

Возможные проблемы при копировании/переносе заключается в отсутствии доступа к какому-либо файлу:

  1. Нет прав на каталог;
  2. Блокировка файла процессом;
  3. Невозможность удаления файла.

Если нет прав на каталог, тогда нужно стать владельцем контейнера и входящих в него объектов:

Перенос профиля пользователя

затем добавить себе полные права на контейнер и заменить наследуемые разрешения для потомков. После этого можно переносить/удалять.

Если блокировка процессом, тогда рекомендую программу Unlocker — много вирусов под видом этой программы. Попробуйте вот эту версию, должна быть без вирусов.

Невозможность удаления файла проявляется в основном файлами нулевого размера с точкой в конце имени файла. При попытке удаления появляется ошибка:

Перенос профиля пользователя

В этой ситуации отлично помогает Far Manager, находите файл и нажимаете Alt-Del, затем кнопку «Wipe».

Перенос профиля пользователя

Все изложенное опробовано в «боевых условиях» продакшена. Пока «полет нормальный», если возникнет ещё что-то, тогда напишу дополнение.

Дополнение от 14.06.2016

Оказалось, что если диск с символической ссылкой, созданной с ключом /D, открыт как сетевой на другом компьютере, то переход по данной ссылке заканчивается ошибкой: — «Символическая ссылка не может быть загружена, так как её тип отключен». Для устранения данной ошибки ссылку нужно пересоздать с ключом /J (junction).

Дополнение от 15.06.2016

Папка Users на диске C:/ была заменена символической ссылкой на другой диск, при этом в реестре ничего не менялось. Обновление с Windows 2008 до 2008 R2 прошло успешно. Установка заменила символическую ссылку на папку и создала в ней дефолтные профили всех пользователей. После установки удалил данную папку и пересоздал ссылку.

Имеется следующая проблема: при синхронизации перемещаемых профилей в домене не синхронизируются удалённые файлы.

Данная проблема наблюдается на 2х предприятиях, где

— Используются идентичные групповые политики, но дело вряд ли в них, тк их отключение ситуацию не исправило.
— Контроллер домена на Windows 2019
core
.
— Пользовательские компьютеры на Windows 10
pro
.
— Службы AD и
GPO
на Windows
server 2019.
— Перемещаемые профили пользователей хранятся на NAS’е/Win2019 сервере (на разных предприятиях).
— В среднем перемещаемые профили весят 5-15 гигов.

На данный момент ситуация выглядит следующим образом: При
logoff’е синхронизируются все файлы, кроме удалённых (не удаляются из перемещаемого профиля на NAS), при
logon’е на компах пользователей, удалённые в предыдущей сессии, файлы восстанавливаются на своих исходных местах, как будто и не удалялись.

Проблема наблюдается со всеми пользователями, чьи профили хоть сколько-то весят. На чистом тестовом профиле всё удаляется. (Возможно, потому, что он крайне мало весит). В ближайшее время попробую его
чем нибудь забить и потестировать дополнительно – отпишусь по результатам.

При этом в журнале событий нет ошибок, порождаемых службой профилей пользователей. В правах на директории перемещаемых профилей ничего не менялось и стоят права, выставленные системой при создании директории перемещаемого
профиля – полный доступ для всех.

Если удалить директорию перемещаемого профиля с сервера, при следующем
logon’е она создастся вновь и синхронизируется с
 
локальным профилем. Пересоздание директории проблему не решает.

  • Изменено

    13 января 2021 г. 14:08

  • Изменен тип
    Dmitriy VereshchakMicrosoft contingent staff, Moderator
    26 февраля 2021 г. 14:24
    Отсутствие активности

Задача: Перенести профили и папки сотрудников с одного сервера на другой

У меня на работе что-то стал тупить сервер (физический S5000VSA, 2 sockets Intel Xeon CPU E6405 2.00Ghz, 4Gb RAM) на котором располагаются профили и перемещаемые папки пользователей. Вот просто так система подвисала и ничего с ней делать нельзя было, но проходило какое-то время и как ни в чем не бывало. Но вот у пользователей в связи с использованием перемещаемых профилей и папок "Мои документы", "Рабочий стол", "Application Data" происходило повисание программ, с которыми они работают, отваливается рабочий стол и ничего сделать нельзя, проходит какое-то время и все возвращается к работе как ни в чем не бывало. Перво-наперво был проверено состояние RAID контроллера через утилиту MegaRAID Storage Manager. RAID массив в оптимальном состоянии, ошибок нет. Удалены оставшиеся от предыдущего системного администратора зачем-то развернутые роли, не относящиеся к работе. Такое ощущение, что он учился на боевом окружении. Нагрузки по памяти, по сети нет. Предварительно с него были вынесены LUN где располагались "Почтовые архивы пользователей", LUN с дистрибутивами, LUN где располагался "Консультант+". Но все это ни к чему не привело, по данным анализа за сетевыми интерфейсами через Zabbix, мы сетевую пропускную способность линка 1Gbps даже и близко не использовали.

Поэтому я принял решение, что нужно на новом сервере развернуть VM и перенести на него: Профили

Шаг №1: Разворачиваю виртуальную машину на ESXi 6.7.0 и именую ее как srv-shares02 (текущий srv-shares01), ось использую Windows Server 2012 R2 Std.

Шаг №2: Создаю каталог на srv-shares02 где будут размещаться профили с соответствующими правами доступа:

Ниже какие права делаю я:

C:Windowssystem32>net share Profiles=D:Profiles /GRANT:«Authenticated Users»,FULL

C:Windowssystem32>icacls D:Profiles /inheritance:d

C:Windowssystem32>icacls D:Profiles /remove «Users» /T

C:Windowssystem32>icacls D:Profiles /grant «CREATOR OWNER»:(OI)(CI)(IO)(F)

C:Windowssystem32>icacls D:Profiles /grant «NT AUTHORITYAuthenticated Users»:(OI)(CI)(RX)

C:Windowssystem32>icacls D:Profiles /grant «NT AUTHORITYSYSTEM»:(OI)(CI)(F)

C:Windowssystem32>icacls D:Profiles /grant «POLYGONekzorchik»:(OI)(CI)(F)

C:Windowssystem32>icacls D:Profiles /grant «BUILTINAdministrators»:(OI)(CI)(F)

Шаг №3: Я использую DFS как доступ к сетевым ресурсам, у меня есть дефолтные пути, в которые я добавляю:

\polygon.localUsers

  • Archives – почтовые архивы, где путь до сервера \srv-cons.polygon.localArchives
  • Documents – общий диск, \srv-shares01.polygon.localDocuments
  • Forwarded folders – перемещаемые папки, \srv-shares01.polygon.localForwarded folders
  • Profiles – профили, \srv-shares01.polygon.localProfiles

Создаю каталог

  • Profiles2 - \srv-shares02.polygon.localProfiles

Шаг №4: У каждой доменной учетной записи (к примеру, alektest4) в свойствах прописан на вкладке Profile

(User profile)

Profile path: \polygon.localUsersProfilesalektest4

Шаг №5: Перехожу к процедуре переноса профилей в домене для пользователей, которые отделены у меня контейнером Office Users. Действия ниже проделываем вручную с srv-shares01

На компьютере пользователя выполняем Logoff или лучше выключаем компьютер

В свойствах учетной записи в домене во вкладке Profile меняем путь:

  • Profile path: на \polygon.localusersProfiles2alektest4

Затем на srv-shares01 запускаю консоль командной строки с правами администратора и переношу профиль пользователя с srv-shares01

C:Windowssystem32>robocopy D:SharesUsersProfilesalektest4.V6 «\polygon.localusersProfiles2alektest4.V6» /J /E /COPYALL /Z /R:3

На заметку: имя alektest4.V6 – это профиль на Windows 10 Pro, если имя alektest4.V2 – это профиль Windows 8.

После завершения копирования, включаем компьютер пользователя и авторизуемся под пользователем (он может сделать это сам) и его профиль теперь на другом сервере и считается успешно перенесенным.

Шаг №6: Теперь проработаю шаги по перемещению папок пользователя (все пользователя в OU=Office Users), это:

  • AppData(Roaming): \polygon.localusersForwarded folders%USERNAME%Application Data
  • Desktop: \polygon.localusersForwarded folders%USERNAME%Desktop
  • Documents: \polygon.localusersForwarded folders%USERNAME%My Documents

У меня есть GPO которая была: GPO_Office_Users_Policy

User Configuration – Policies – Windows Settings – Folder Redirection – и через правый клик на AppData (Roaming) открываю свойства

  • Setting: Basic – Redirect everyone’s folder to the same location
  • Target folder location: Redirect to the following location
  • Root Path: \polygon.localusersForwarded folders%USERNAME%Application Data

И для других папок по аналогии.

Также в этой политике предопределены доверенные сайты

User Configuration – Policies – Administrative Templates – Windows Components – Internet Explorer – Internet Control Panel – Security Page –

  • Site to Zone Assignment List: Enabled
    • Value name: *.gs.service.nalog.ru
    • Value: 2

И многие сайты *.sberbank.ru,*.service.nalog.ru

    • Value name: \polygon.local
    • Value: 1

В этой политики ограничение распространения стоит: OU=Office Users, а Scope: Authenticated Users

Через вкладку Delegation – Advanced добавляю созданную под это дело (перемещение) группу: GRP_GPO_Office_Users_Policy_Deny где права выставляю, как Deny (Apply group policy)

Шаг №7: Создаю дубль такой политики выше, именую ее как: GPO_Office_Users_Forward

В этой политики ограничение распространения стоит: OU=Office Users, а Scope: указываю группу GRP_GPO_Office_Users_Forward

Шаг №8: Создаю каталог на srv-shares02 где будут располагаться перемещаемые папки пользователя:

C:Windowssystem32>net share users=«D:Forwarded folders» /GRANT:«Authenticated Users»,FULL

C:Windowssystem32>icacls «D:Forwarded folders» /inheritance:d

C:Windowssystem32>icacls «D:Forwarded folders» /remove «Users» /T

C:Windowssystem32>icacls «D:Forwarded folders» /grant «CREATOR OWNER»:(OI)(CI)(IO)(F)

C:Windowssystem32>icacls «D:Forwarded folders» /grant «NT AUTHORITYAuthenticated Users»:(OI)(CI)(RX)

C:Windowssystem32>icacls «D:Forwarded folders» /grant «NT AUTHORITYSYSTEM»:(OI)(CI)(F)

C:Windowssystem32>icacls «D:Forwarded folders» /grant «POLYGONekzorchik»:(OI)(CI)(F)

C:Windowssystem32>icacls «D:Forwarded folders» /grant «BUILTINAdministrators»:(OI)(CI)(F)

Шаг №9: Создаю новый путь в DFS:

\polygon.localUsersForwarded folder 2 - \srv-shares02users

Шаг №10: Итого текущая последовательность действия по перемещению папок пользователя:

1) Выходим на компьютере где пользователь или выключаем его компьютер

2) Учетную запись пользователя папки которого перемещаем включаем в группы:

  • GRP_GPO_Office_Users_Forward
  • GRP_GPO_Office_Users_Policy_Deny

3) на srv-shares01 запускаем консоль командной строки

robocopy «\srv-shares01Forwarded foldersalektest4» «\srv-shares02usersalektest4» /J /E /COPYALL /Z /R:3

4) Авторизуемся на компьютере

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

На заметку: Важно не переносите перемещаемые папки пользователей в рабочее время, т.к. просадите скорость доступа к основному серверу, у меня было так.

Итого я практически разобрал, как успешно мигрировать профили пользователей и перемещаемые папки на другой сервер. Теперь после рабочего дня или в выходные данная миграция будет выполнена, а мне как бонус более стабильная работа и оплата переработок.

На этом у меня все, с уважением автор блога Олло Александр

Email: support@ekzorchik.ru

Telegram: @aka_ekzorchik


Понравилась статья? Поделить с друзьями:
  • Перемещаемые профили пользователей windows server 2016
  • Перемещаемые профили windows server 2008 r2
  • Перемешиваются ярлыки на рабочем столе windows 10
  • Перемешиваются значки на рабочем столе windows 10
  • Переместить системные папки на другой диск для windows 10