Перенос папок профилей на другой диск/сервер

В Windows Server (и не сервер тоже) папки профилей пользователей по умолчанию лежат в директории системного диска C:\Users, где C — имя системного диска. И хотя каждый пользователь может назначить где именно должна лежать конкретная папка, например «загрузки», есть также недокументированная возможность переноса всех папок всех пользователей на конкретной машине — особенно это актуально для терминальных серверов, где работает множество пользователей. Реализуется это очень просто: в редакторе реестра находим ключ HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList и меняем в нем значение параметра «ProfilesDirectory» (по умолчанию «%SystemDrive%\Users») на нужный нам путь, например на «D:\Profiles». После этого перезагружаем сервер и вуаля — все новые профили будут создаваться в соответствующих папках под «D:\Profiles».

profiles1

 

Однако есть проблема — даже если скопировать все папки пользовательских профилей по новому пути, при входе пользователей будет создаваться новый профиль вместо уже существовавшего, как будто происходит первый вход этого пользователя. Дело в том, что параметры конкретного пользователя используют не параметр «ProfilesDirectory», а параметр «ProfileImagePath» в ключе HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\[SID пользователя]. Для избежания этой проблемы, после смены «ProfilesDirectory»  мы делаем экспорт всей ветки под ProfileList:

profiles2

Открываем получившийся файл. Если мы переносим профили на другой сервер с сохранением пути (например путем переподключения жесткого диска на другой сервер в этом же домене), удаляем оттуда хорошо известные SID, например в примере выше это S-1-5-18, S-1-5-19, S-1-5-20 и локальные профили (их легко отличить по одинаковому префиксу, предварительно посмотрев на путь конкретного профиля для какой-либо учетки). Затем перетаскиваем этот файлик на новый сервер и уже на нем выполняем импорт. Если же мы переносим профили на другой сервер с изменением пути, то перед импортом необходимо выполнить замену путей, как в случае, если перенос профилей идет просто на другой диск одного сервера (в этом случае нужна только замена путей и импорт). Для замены путей мы открываем наш файлик в блокноте и делаем «Заменить все» введя старый и новые пути. Обратите внимание, что путь закодирован в HEX код. Текст для замены легко получить самим: для этого просто создаем два значения с исходным и итоговым путем и экспортируем в файл. Затем берем HEX исходного значения и заменяем итоговым (обратите внимание, что в пути D:\Profiles появился слеш и две пары нулей в конце — их копировать не надо, если после них символов более нет):

profiles3

После всех манипуляций перезагружаем сервер и получаем удовольствие от проделанной работы!

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