Где хранится профиль пользователя windows

Углубляемся в процесс обработки профилей пользователей

Если спросить у администраторов систем Windows, что создает наибольшие сложности в их работе, многие вспомнят о проблемах, связанных с профилями пользователей. Если же говорить о перемещаемых (roaming) профилях, то затруднения возникают у 80-90% администраторов. Несмотря на все усилия, предпринимаемые Microsoft при выпуске каждой версии Windows, пользовательские профили все еще остаются слабым местом системы. Давайте посмотрим, как, по замыслу разработчиков, должны функционировать пользовательские профили, а также что происходит при создании профиля и при его записи на сервер. Тогда станет ясно, какие проблемы могут возникнуть при выполнении этих действий и каким образом их можно избежать.

Что такое профиль пользователя

Пользовательский профиль представляет собой множество файлов и папок, в которых Windows хранит персональные настройки пользователя. Так, составными частями профиля являются настройки Microsoft Outlook и все ярлыки, размещенные пользователем на рабочем столе. Вообще в профиле хранятся все пользовательские настройки Windows и приложений, с которыми работает пользователь.

В Windows предусмотрено три вида профилей пользователя — локальные (local), перемещаемые (roaming) и обязательные (mandatory). Каждый регистрирующийся на рабочей станции Windows пользователь имеет собственный локальный профиль, который по умолчанию хранится в папке \%systemroot%documents and settings\%username% (например, C:documents and settingsjoesmith) для систем Windows Server 2003, Windows XP и Windows 2000 или в папке \%systemroot%profiles\%username% — для компьютеров Windows NT 4.0.

Перемещаемый профиль пользователя, как следует из его названия, применяется на любой рабочей станции, с которой данный пользователь регистрируется в сети. Для этого Windows копирует локальный профиль пользователя в специальный общий каталог на сервере каждый раз при завершении пользователем сеанса работы в сети. Если у пользователя нет перемещаемого профиля, то при регистрации в сети с различных рабочих станций он может иметь разные настройки рабочего стола. Поэтому если в сети пользователи часто регистрируются с разных рабочих станций и при этом должны иметь на них одни и те же настройки, следует настроить перемещаемые профили. Чтобы сделать локальный профиль пользователя перемещаемым, в Windows 2000 и более поздних версиях достаточно изменить объект пользователя в Active Directory и указать путь разделяемого каталога на сервере для хранения перемещаемых профилей в нотации UNC (например, s3gpo1profilesdarren, см. экран 1). После указания пути в объекте пользователя система сохраняет профиль на сервере при следующем завершении сеанса.


Экран 1. Задание пути перемещаемого профиля для пользователя в AD

Обязательный профиль пользователя представляет собой разновидность перемещаемого профиля. Обязательный профиль гарантирует, что каждый пользователь в данной среде имеет одинаковый профиль. Имеются две разновидности обязательного профиля — обычный и принудительный (super mandatory profile). Обычный обязательный профиль не позволяет пользователям менять настройки приложений, но при этом допускает создание новых ярлыков на рабочем столе и сохранение документов в папке «Мои документы». Принудительный обязательный профиль не позволяет вносить какие бы то ни было изменения в настройки. Обязательные профили обычно применяются в тех случаях, когда необходим строгий контроль над действиями пользователей.

Независимо от вида пользовательского профиля, следует помнить, что пользователь всегда работает с локальной копией профиля, размещаемой в папке \%systemroot%documents and settings\%username% (или %systemroot%profiles\%username% в Windows NT 4.0). Даже если пользователь имеет перемещаемый профиль, при регистрации в системе рабочая станция создает локальную копию профиля, и все последующие изменения, которые выполняет пользователь во время сеанса, сохраняются в локальной папке. Запись изменений в перемещаемый профиль пользователя на сервере происходит при завершении сеанса, но по умолчанию на рабочей станции локальная копия профиля пользователя сохраняется. Таким образом, если перемещаемый профиль не изменился и пользователь повторно регистрируется на той же рабочей станции, работа происходит с сохраненной локальной копией профиля без повторной загрузки с сервера. Механизм этого процесса будет рассмотрен ниже.

Теперь давайте посмотрим, как происходит обработка пользовательского профиля системой. Как уже было сказано выше, в профиле хранятся различные пользовательские настройки, а также ярлыки. Имя каталога, в котором хранятся профили, говорит само за себя — documents and settings. В разделе документов могут храниться различные файлы — ярлыки, документы Word, временные файлы Internet, конфигурационные файлы приложений и т. п. Если взглянуть на профиль обычного пользователя через Windows Explorer, мы увидим структуру, подобную изображенной на экране 2
.

Как показано на экране 2, пользовательские данные в профиле пользователя хранятся всего в нескольких папках. Так, в папке «Мои документы» хранятся документы пользователя, созданные в Microsoft Word и других приложениях. В папке «Рабочий стол» содержатся элементы, отображаемые на рабочем столе пользователя. В папке Application Data содержатся конфигурационные файлы приложений. Например, Microsoft Outlook сохраняет в этом каталоге заданные пользователем настройки. Некоторые папки от пользователя скрыты. Так, ряд папок, показанных на экране 2, такие как Application Data и Local Settings, не предназначены для непосредственного просмотра пользователем и скрыты (их значки отмечены более блеклым цветом).

Раздел настроек профиля пользователя хранится в файле ntuser.dat в папке пользователя, как показано на том же экране 2. Его содержимое можно просмотреть с помощью редактора реестра в ветви HKEY_CURRENT_USER. Содержимое этой ветви загружается в реестр при регистрации пользователя в системе. Все изменения настроек, сделанные пользователем во время сеанса работы, такие как смена обоев на рабочем столе или изменение настроек Outlook, записываются Windows именно в эту ветвь реестра и сохраняются в файле ntuser.dat. Здесь уместно отметить, что при необходимости просмотра настроек другого пользователя, не начавшего сеанс работы Windows, можно загрузить соответствующий файл в редактор реестра в качестве временной ветви с помощью команды Файл/Загрузить ветвь в редакторе реестра (regedit.exe в Windows XP и 2003, regedt32.exe в Windows 2000).

Обратите внимание, что обязательные профили используют отличную от описанной ранее систему именования элементов. Как правило, обычный обязательный профиль — это тот профиль, в котором файл ntuser.dat переименован в ntuser.man. Принудительный обязательный профиль представляет собой перемещаемый профиль, в котором полное имя файла конфигурации имеет расширение .man. Так, перемещаемый профиль, размещенный в папке serverprofilesstdprofile.man, указывает на принудительный обязательный профиль.

Создание профиля

Что же происходит при создании профиля? На первый взгляд все очень просто: если пользователь регистрируется в сети со своей рабочей станции Windows впервые и не имеет профиля, кэшированного на данной рабочей станции или перемещаемого на сервере, Windows создает для этого пользователя профиль по умолчанию. На самом деле все несколько сложнее. Рассмотрим последовательно процесс создания профиля пользователя — это поможет понять причины возможных проблем. Отметим, что существуют некоторые различия обработки профилей пользователей в разных версиях Windows; в этой статье обработка профилей операционной системой рассматривается на примере Windows XP. Рассмотрим ситуацию, когда пользователь домена AD, для которого имеется перемещаемый профиль, впервые выполняет регистрацию в сети на данной рабочей станции.

  • При отработке регистрации в сети Windows в первую очередь проверяет учетную запись AD на предмет существования пути перемещаемого профиля.
  • Далее выполняется ping к указанной общей папке на сервере для проверки скорости соединения. Если обнаружено медленное соединение, операционная система использует альтернативный способ загрузки профиля. Порог медленного соединения определяется групповой политикой и по умолчанию равен 500 Кбит/с.
  • Когда Windows выясняет, что используется быстрое соединение, Windows проверяет разрешения NTFS папки перемещаемого профиля, дабы убедиться, что владельцем является регистрирующийся в сети пользователь или член группы локальных администраторов. Эта проверка была добавлена в XP SP1 и Windows 2000 SP4, чтобы убедиться, что некий злоумышленник не создал подменный перемещаемый профиль, который может быть загружен пользователем случайно.
  • В случае когда проверка шага 3 выполнена успешно, Windows проверяет общую папку на наличие профилей, а сервер — на наличие файлов ntuser.dat или ntuser.man (для обязательного профиля). Если таких файлов нет, как в том случае, если пользователь регистрируется впервые, Windows переходит к следующему шагу.
  • Система определяет наличие кэшированной копии профиля пользователя в папке C:documents and settings. При этом Windows обращается не к файловой системе, а проверяет записи в реестре. Все легитимные профили пользователей, кэшируемые на рабочей станции, регистрируются в разделе системного реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList. В разделе ProfileList для каждого пользователя, имеющего локальную кэшированную копию профиля, создается подраздел с уникальным идентификатором SID, определяющим данного пользователя. В этом подразделе хранится название папки с профилем, путь перемещаемого профиля, а также информация о статусе профиля и о времени последних сделанных изменений.
  • Если Windows не находит ни перемещаемого, ни локального профиля, то в соответствующем разделе системного реестра создается новый подраздел и формируется локальный профиль в папке Documents and Settings.
  • Далее Windows назначает пользователю новый профиль по умолчанию. Профиль по умолчанию можно определить одним из двух способов. Можно разместить профиль пользователя по умолчанию в общей папке Netlogon на контроллере домена AD,
    etlogondefault user. При создании нового профиля пользователя Windows обращается в первую очередь именно в эту общую папку. Если в этой папке профиль отсутствует, Windows использует локальный профиль по умолчанию, размещенный на рабочей станции в папке \%system root%documents and settingsdefault user. Если вы хотите задать профиль по умолчанию, он должен быть полным, то есть содержать файл ntuser.dat и включать в себя все папки, которые Windows рассчитывает найти в профиле пользователя. С точки зрения простоты управления профиль по умолчанию рекомендуется разместить в общей папке Netlogon, хотя, конечно, можно сформировать профиль по умолчанию и в образе стандартной сетевой рабочей станции.
  • Определив правильный путь для профиля пользователя по умолчанию, Windows копирует содержимое этой папки в локальную папку пользователя в Documents and Settings. При этом Windows устанавливает настройки безопасности файловой системы таким образом, что к папке \%systemroot%documents and settings\%username% полный доступ имеют только данный пользователь и члены локальной группы «Администраторы». Поскольку файл ntuser.dat представляет собой ветвь реестра, с которой связаны соответствующие разрешения системы безопасности, то, когда система выполняет копирование данного файла из профиля пользователя по умолчанию, разрешения на разделы реестра в данной ветви устанавливаются такие же, как для файлов профиля пользователя. Таким образом, правами доступа к настройкам в этом профиле обладают только сам пользователь и локальные администраторы. Данный факт важно принимать во внимание, так как по этой причине оказывается бесполезным копировать файл ntuser.dat и передавать от одного пользователя к другому. Даже если поменять разрешения на файлы, разрешения в реестре все равно будут указывать на исходного пользователя, которому принадлежал файл. Из такой ситуации существует два выхода: в приложении System панели управления Windows выбрать закладку Advanced, в группе User Profiles пользователей нажать кнопку Settings и в диалоговом окне, изображенном на экране 3, воспользоваться кнопкой Copy to или же задействовать утилиту moveuser.exe, входящую в состав Microsoft Windows 2000 Resource Kit.

Экран 3. Применение приложения System для копирования профиля пользователя

Созданный профиль пользователя не будет скопирован на сервер до тех пор, пока пользователь не выйдет из системы. При завершении сеанса Windows сначала проверяет, какие элементы профиля не являются перемещаемыми. По умолчанию перемещаемыми не являются настройки, хранящиеся в папках History, Local Settings, Temp, и Temporary Internet Files, так что содержимое этих папок на сервер не копируется. В эту группу попадают кэш Internet Explorer, временные файлы и автономные хранилища Outlook (файлы .ost). Список папок, не сохраняемых для перемещаемого профиля, можно указать в политике Administrative Template объекта групповых политик. Эта политика размещается в папке User ConfigurationAdministrative TemplatesSystemUser ProfilesExclude Directories перемещаемого профиля пользователя.

По сравнению с NT 4.0, в Windows 2000 значительно усовершенствован алгоритм сохранения изменений в перемещаемый профиль пользователя при завершении сеанса. В NT 4.0 при завершении сеанса система выполняла копирование всех файлов профиля пользователя на сервер вне зависимости от того, изменялись они или нет. Начиная с Windows 2000 система сравнивает дату и время создания файлов в локальном и перемещаемом профилях пользователя и при завершении сеанса выполняет копирование только тех файлов, которые требуют обновления. Это позволяет значительно ускорить процедуру завершения сеанса и снизить сетевой трафик по сравнению с NT 4.0. Аналогичным образом оптимизирован процесс копирования файлов перемещаемого профиля пользователя при регистрации пользователя в сети с рабочей станции, на которой уже имеется его кэшированный профиль.

Управление обработкой профилей пользователей

Некоторые настройки работы профилей пользователей в сети можно изменить. Как уже отмечалось, групповые политики позволяют указать, какие из папок профиля являются перемещаемыми, а какие — нет. Можно изменить политики, определяющие реакцию системы в случае использования медленного соединения для копирования перемещаемого профиля из общей папки профилей. Windows по-другому осуществляет обработку перемещаемых профилей и групповых политик в случае использования медленного соединения. Так, для медленного соединения Windows не выполняет копирование перемещаемого профиля из общей папки на сервере, вместо этого используется кэшированная локальная копия профиля. При необходимости можно изменить это заданное по умолчанию поведение Windows. Например, при включении политики Prompt User When Slow Link Is Detected (запрашивать пользователя при обнаружении медленного соединения) пользователь при регистрации через медленное соединение будет получать запрос, дождаться копирования перемещаемого профиля пользователя или продолжить работу с кэшированной копией профиля. Можно также изменить политику Logs User Off When Roaming Profile Fails таким образом, чтобы запретить пользователю регистрацию в сети при невозможности загрузки перемещаемого профиля.

Групповые политики позволяют изменять другие аспекты обработки системой профилей пользователей. Например, если необходимо удалять кэшированную локальную копию перемещаемого профиля пользователя при завершении сеанса работы, можно включить политику Delete Cached Copies of Roaming Profiles («Удалять из кэша копии перемещаемого профиля») в разделе, описанном ранее. Это удобно сделать в среде с использованием терминальных серверов Windows, когда на одной и той же рабочей станции может работать множество пользователей и накопление в кэше большого количества профилей пользователей будет приводить к неоправданному расходованию дискового пространства.

Можно установить квоту на размер профиля пользователя. Следует помнить о том, что профиль пользователя может содержать и другие файлы, помимо пользовательских настроек, причем некоторые из этих файлов могут оказаться довольно большими. Если размер этих файлов окажется велик, они будут занимать очень много места в общей папке на сервере, а регистрация пользователя в сети и завершение работы будут требовать слишком много времени. В некоторых случаях с помощью квотирования имеет смысл ограничить возможности пользователей по части включения в профиль слишком больших файлов. Квота профиля устанавливается в GPO в разделе User ConfigurationAdministrative TemplatesSystemUser ProfilesLimit Profile Size. При этом квотирование следует применять осторожно, так как в некоторых случаях увеличение размеров профиля является оправданным, а ограничение размера может помешать сотрудникам выполнять свои прямые служебные обязанности.

Руководство по борьбе с неполадками

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

Прежде всего необходимо уяснить, что происходит с профилем пользователя в необычных условиях. Например, что если для пользователя задан перемещаемый профиль, на рабочей станции его локальная копия отсутствует, а Windows не может получить доступ к перемещаемому профилю на сервере? В Windows 2000 и XP система создает локальный временный профиль на основе профиля пользователя по умолчанию в папке \%systemroot%documents and settings emp, так что пользователь может продолжить работу. По завершении сеанса система просто удаляет временный профиль, так что все сделанные пользователем изменения настроек будут потеряны.

Рассмотрим другую распространенную ситуацию. Что если на рабочей станции регистрируются два пользователя под одним и тем же именем — произойдет ли в этом случае замена одного профиля другим? Нет, не произойдет, хотя причина этого неочевидна. Нужно помнить о том, что каждая кэшируемая локальная копия профиля регистрируется в реестре с идентификатором SID пользователя, что позволяет предотвратить перезапись локальной копии профиля. Но где же система сохраняет дублирующий профиль? На самом деле Windows добавляет к имени пользователя название домена или рабочей группы. Допустим, на рабочей станции workstationA уже зарегистрирован локальный пользователь jsmith с соответствующим локальным профилем в папке \%systemroot%documents and settingsjsmith. Тогда при регистрации пользователя jsmith из домена AD mycompany.com (NetBIOS — имя домена mycompany) Windows создаст профиль в папке \%systemroot%documents and settingsjsmithmycompany. Это не очень удобно, зато позволяет избежать путаницы.

Почти во всех сетях я сталкивался с одной и той же проблемой, достойное решение которой пока не найдено. Иногда при завершении сеанса пользователя система не производит полную выгрузку профиля на сервер. Какой-то из выполняющихся на рабочей станции процессов держит ветвь реестра ntuser.dat, что не позволяет полностью выгрузить профиль. Это может привести к негативным последствиям для рабочей станции, поскольку сделанные пользователем изменения в ntuser.dat не копируются в перемещаемый профиль пользователя или Windows не может удалить локальную копию профиля, если у вас выбран такой вариант. Некоторые администраторы используют утилиту delprof.exe из Resource Kit для удаления кэшированных локальных копий профиля. В тех случаях, когда файл ntuser.dat заблокирован, эта утилита не может удалить локальный профиль. Единственным простым решением в данной ситуации является перезагрузка рабочей станции, при которой происходит снятие всех блокировок с реестра. Правда, в некоторых ситуациях такое решение нежелательно. В Windows XP Microsoft предоставляет возможность увеличить число попыток сохранения профиля пользователей на сервере. Это делается с помощью политики Computer ConfigurationAdministrative TemplatesSystemUser ProfilesMaximum retries, определяющей допустимое число попыток сохранения и обновления профиля пользователя, — в некоторых сетях изменение данной политики позволяет частично решить проблему.

Если не получается разобраться, что происходит с профилями пользователей в сети, я бы посоветовал включить подробный журнал userenv. Файл userenv.log находится на любой рабочей станции Windows 2000, XP и Windows 2003 в папке \%systemroot%debugusermode. Процедура включения подробного журнала для профилей пользователей и групповых политик описана в статье Microsoft «How to Enable User Environment Debug Logging in Retail Builds of Windows» (http://support.microsoft.com/?kbid=221833). Детализированный журнал действий, выполняемых при загрузке и выгрузке профиля, может помочь при устранении проблем, возникающих с профилями пользователей.

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


Даррен Мар-Элиа — редактор журнала Windows & NET Magazine. С ним можно связаться по адресу: dmarelia@winnetmag.net

For those new to Windows, a user profile is a directory containing settings and information related to a user. The profile directory includes a lot of folders, including Desktop, Documents, Contacts, and personal data such as Windows and application preferences. Since files and settings for each profile are private to that particular user, other users on the same computer can’t view another user’s profile unless that user is an administrator or member of the Administrators group.

Each user created on your PC will carry a profile folder in the “Users” folder on Windows system drive “C.” Each account will have a profile folder name similar to the account name in that User folder. Suppose we create a user account on our Windows 11 system with the username gearupwindows; Windows will automatically generate a profile folder in the “C:\Users” directory called “C:\Users\gearupwindows.”

How to Find a User Profile Name on Windows 11?

Suppose you have a lot of users on your computer, and after login, you forget which account you have logged in to. In such a case, you will get into trouble finding the user profile folder because it is the same as the user profile name. To find a user profile name on Windows 11, use the following steps:-

Step 1. First, bring up the Run command box by pressing Windows + R keys on the keyboard.

Step 2. After that, in the Run box, type the following and hit the Enter key on the keyboard:-

 %USERPROFILE%

After completing the above steps, the current user profile folder will open up. You can read the user profile name in the title of the File Explorer address bar.

How to Open a User Profile Folder in Windows 11?

To open a user profile folder in Windows 11, do the following:-

Step 1. Very first, open File Explorer by pressing the Windows + E keys on the keyboard.

Step 2. After that, navigate to the “This PC > Local Disk (C:)> Users” folder. In this “Users” folder, you will find all users’ profiles are available in separate folders.

If you’re unsure what your username is, you can always get to your profile folder by doing the following:-

First, open the Run box by pressing Windows + R and then type %USERPROFILE% in the box. After that, hit the Enter key on the keyboard. Now, the current user account profile folder will open up.

Good luck.

Conclusion

In conclusion, user profiles are essential directories that contain various settings and information related to a user on a Windows system. These profiles are private and cannot be accessed by other users unless they have administrative privileges. Each user on a Windows system has a profile folder in the “Users” directory, with a name similar to the account name. Finding a user profile name and opening a user profile folder in Windows 11 is crucial to managing user data on the system. By following the steps outlined in this guide, users can easily locate and access their user profile folders in Windows 11.

This post describes to students and new users a thing or two about user profiles in Windows. In Windows, a user profile is a directory containing settings and information related to a user.

The profile directory may contain Desktop, Documents, and personal data such as Windows and application preferences.

Files and settings in each profile are private to that particular user. Users can not view another user’s profile unless that user is an administrator or a member of the administrator’s group.

Each user will have a profile folder in the Users folder on the Windows system drive Local Disk (C:). In the User folder, each account will have a profile folder name, the same name as the account name.

For example, an account with the username Richard will have a profile folder in the C:\Users directory called C:\Users\Richard.

In Windows, environment variables are words that contain the value of something. A user profile path has a variable %USERPROFILE%, which contains a path to a user profile folder. If you don’t know your user profile name, simply type the profile environment variable in File Explorer, and it will open your profile folder.

How to open a user profile folder in Windows 11

As mentioned above, a user profile folder contains folders, settings, and preferences about each account in Windows. A user profile stored on a computer is often unique to the computer on which it is stored.

In some environments, a user profile is stored on a network server, allowing users’ settings, folders, and preferences to be used on every computer the user logs on to, so there is a consistent view and settings.

To view your profile on a computer, open File Explorer and select This PC ==> Local Disk (C:) ==> Users folder. The Users folder is where your user profile folder will be.

If you’re unsure what your username or profile folder is, you can always get to your profile folder using the environment variable %USERPROFILE%.

Type the profile folder path environment variable in File Explorer and press Enter.

You will find all your profile folders and configuration settings when you do.

That should do it!

Conclusion:

  • User profiles in Windows are essential for maintaining individual settings and preferences.
  • Each user has a unique profile folder located in C:\Users with the same name as their account.
  • The profile folder contains crucial personal data like Desktop and Documents.
  • Environment variables, such as %USERPROFILE%, simplify accessing your profile folder in File Explorer.
  • In network environments, profiles can be stored on servers for consistent access across multiple devices.
  • Knowing how to navigate to your user profile is vital for managing your data and settings effectively.

Все способы:

  • Варианты и ограничения переноса
  • Вариант 1: Перенос конкретного профиля
  • Вариант 2: Перенос всех профилей
  • Вопросы и ответы: 4

Варианты и ограничения переноса

Способ переноса папок профиля пользователя будет отличаться в зависимости от того, переносится на другой раздел/диск папка с именем пользователя или папка «Users» («Пользователи»), в которой находится конкретный профиль. Также следует учитывать, что перенос профильных каталогов пользователей имеет определенные ограничения. Так, профиль может быть перенесен на раздел или диск, на котором нет другой установленной Windows и который имеет файловую систему NTFS.

Если в папке профиля имеются символические ссылки, после переноса они по-прежнему будут перенаправлять обращения в старое расположение, что, впрочем, не критично для Windows 10 и новых приложений. Кроме того, после переноса каталогов профиля в работающей Windows могут возникнуть проблемы с обновлением операционной системы до новых версий, что в свою очередь приведет к необходимости применения дополнительных решений.

Вариант 1: Перенос конкретного профиля

Этот вариант переноса является наименее затратным и более безопасным, чем вариант с переносом папки «Users» с одним, двумя или более профилями.

  1. Первым делом откройте «Диспетчер задач», переключитесь на вкладку «Пользователя» и убедитесь, что переносимый профиль данный момент не используется.
    Перенос профиля пользователя в Windows 10-1

    Если в системе имеется только один профиль, рекомендуется создать дополнительную учетную запись администратора и работать из-под нее.

    Подробнее: Создание учетной записи администратора в Windows 10

  2. Создайте в нужном расположении каталог, в который хотите перенести профиль пользователя.
  3. Перейдите в расположение C:\Users и скопируйте каталог профиль пользователя в созданную папку.
  4. Перенос профиля пользователя в Windows 10-2

  5. Откройте «Редактор реестра», для чего вызовите нажатием Win + R диалоговое окошко быстрого запуска, введите в него команду regedit и нажмите кнопку «OK».
  6. Перенос профиля пользователя в Windows 10-3

  7. Разверните в редакторе ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList и отыщите подраздел с GUID переносимого профиля. Определить его нетрудно: в нем имеется параметр «ProfileImagePath», в качестве значения которого указан текущий путь к папке профиля.
  8. Перенос профиля пользователя в Windows 10-4

  9. Откройте окошко редактирования параметра двойным кликом и замените старый путь новым, ведущим к скопированной ранее папке профиля пользователя.
  10. Перенос профиля пользователя в Windows 10-5

  11. Закройте «Редактор реестра», откройте свойства папки профиля пользователя в новом расположении, переключитесь на вкладку «Безопасность» и нажмите кнопку «Изменить».
  12. Выберите в поле «Группы или пользователи» владельца профиля и предоставьте ему полные права на каталог.

Также можно сделать, чтобы все новые профили создавались в новом расположении. Для этого в «Редакторе реестра» необходимо развернуть ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList и изменить значение параметра «ProfilesDirectory», указав в качестве его значения путь к новой папке хранения профилей.

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

Вариант 2: Перенос всех профилей

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

Читайте также: Создание резервной копии Windows 10

К сожалению, после переноса описанным ниже методом система не сможет больше обновляться до новых версий. Учитывайте это обстоятельство.

  1. Первым делом необходимо создать файл ответов, который будет использоваться встроенной утилитой «Sysprep». Создайте «Блокнотом» текстовый файл и вставьте в него следующий код:

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="oobeSystem">
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <FolderLocations>
    <ProfilesDirectory>D:\Users</ProfilesDirectory>
    </FolderLocations>
    </component>
    </settings>
    </unattend>

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

    Если Windows 10 – 32-битная, в качестве значения «processorArchitecture» следует указать x86 вместо amd64. Между тегами «ProfilesDirectory» указывается путь к новой папке, в которой будут храниться каталоги профилей.

  2. Сохраните файл с именем «relocate.xml» (не забудьте выставить «Тип файла» как «Все файлы») в корень системного либо пользовательского раздела.
  3. Перенос профиля пользователя в Windows 10-10

  4. Запустите из поиска Windows классическую «Командную строку» от имени администратора.
  5. Как перенести профиль пользователя в Windows 10-11

  6. Выполните одну за другой следующие команды:
    • net stop wmpnetworksvc
    • %windir%\system32\sysprep\sysprep.exe /oobe /reboot /unattend:C:\relocate.xml

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

    Если файл ответов «relocate.xml» был размещен в корне диска D, соответственно, букву C в команде необходимо заменить на D.

В результате Windows 10 будет загружена в режиме аудита на этапе первичной настройки. Далее необходимо будет проделать шаги, которые традиционно выполняются при установке системы: выбрать параметры сети и создать учетную запись.

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

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

Наша группа в TelegramПолезные советы и помощь

Администраторы время от времени должны удалять старые профили пользователей (уволенные пользователи, неактивные пользователи, и т.д.) в каталоге C:\Users на рабочих станциях и серверах Windows. Чаще всего с задачей очисткой профилей пользователей Windows сталкиваются на терминальных серверах RDS (Remote Desktop Services).

Основная проблема терминальных серверов – постоянный рост размеров каталогов профилей пользователей на диске. Частично эта проблема решается политиками квотирования размера профиля пользователя с помощью FSRM или NTFS квот, использованием профилей типа FSLogix или User Profile Disk, перемещаемыми папками и т.д. Но при большом количестве RDS пользователей в папке C:\Users со временем накапливается огромное количество каталогов с неиспользуемыми профилями пользователей.

Содержание:

  • Как вручную удалить профиль пользователя в Windows?
  • Групповая политика для автоматической очистки старых профилей
  • PowerShell скрипт для удаления старых профилей пользователей в Windows

Как вручную удалить профиль пользователя в Windows?

В Windows вы можете вручную удалить профиль пользователя через панель управления.

  1. Откройте Advanced System Settings (команда
    SystemPropertiesAdvanced
    ) -> User Profiles -> Settings;
  2. В этом окне перечислен список всех профилей пользователей (локальных и доменных), которые хранятся на этом компьютере. Размер каждого профиля пользователя на диске указан в столбце Size.
  3. Выберите пользователя, чей профиль нужно удалить и нажмите кнопку Delete.
    Удалить с диска профиль пользователя Windows вручную

В Windows 11/10 и Windows Server 2022/2019 вы можете удалить профили пользователей с диска через приложение Settings. Перейдите в раздел Accounts -> Access work and school (или выполните команду быстрого доступа
ms-settings:otherusers
). Выберите пользователя и нажмите Remove чтобы удалить его данные с компьютера.

ms-settings: удалить с диска профиль пользователя windows 11

При корректном удалении профиля пользователя с диска будет удален каталог профиля в C:\Users и запись о пользователе в реестре.

Многие начинающиеся администраторы пытаются вручную удалить каталог с профилем пользователя из папки C:\Users. В этом случае нужно обязательно вручную удалить информацию о профиле из реестра Windows:

  1. Откройте редактор реестра
    regedit.exe
    ;
  2. Перейдите в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
  3. Для каждого пользователя, выполнившего локальный вход в систему (этот метод входа должен быть разрешен пользователю настройками параметра Allow log on locally в GPO), создается отдельная ветка с SID пользователя в качестве имени;
  4. Вы можете найти раздел реестра, соответствующий пользователю по SID, или можете вручную просмотреть содержимое всех вложенных разделв, пока не найдете раздел, в котором значение ProfileImagePath указывает на каталог с профилем пользователя на диске (например,
    C:\Users\kbuldogov
    );

    путь к профилю пользователя в реестре ProfileImagePath

  5. Удалите данный раздел реестра, чтобы завершить корректное удаление профиля.

Также вы можете удалить профиль конкретного пользователя с помощью PowerShell:

Get-CimInstance -Class Win32_UserProfile | Where-Object { $_.LocalPath.split(‘\’)[-1] -eq 'kbuldogov' } | Remove-CimInstance

Эта команда удалит как каталог на диске, так и ссылку на профиль пользователя kbuldogov в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.

Эта команда будет работать как в Windows PowerShell, так и в новых версиях PowerShell Core 6.x,7.x

Можно удалить профиль пользователя на удаленном компьютере с помощью PowerShell Remoting и командлета Invoke-Command:

$compname="wks21s32"
$user = "kbuldogov"
Invoke-Command -ComputerName $compname -ScriptBlock {
param($user)
Get-CimInstance -Class Win32_UserProfile | Where-Object { $_.LocalPath.split(‘\’)[-1] -eq $user } | Remove-CimInstance
} -ArgumentList $user

Групповая политика для автоматической очистки старых профилей

В Windows есть специальный параметр групповой политики для автоматического удаления старых профилей пользователей старше xx дней. Вы можете включить этот параметр с помощью локального редактора GPO (
gpedit.msc
) или с помощью консоли управления доменными GPO (
gpmc.msc
). В этом примере на назначим политику автоматической очистки профилей на хосты в ферме RDS, которые вынесены в отдельный контейнер (Organizational Unit) Active Directory.

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

  1. Найдите OU с компьютерами/серверами, на который вы хотите применить политику очистки старых профилей пользователей. Щелкните по OU и выберите Create a GPO in this domain and Link it here;
  2. Укажите имя политики и отредактируйте GPO;
  3. Перейдите в раздел Конфигурация компьютера -> Административные шаблоны -> Система -> Профили пользователей (Computer Configuration -> Administrative Templates -> System -> User Profiles);
  4. Откройте параметр “Удалять при перезагрузке системы профили пользователей по истечении указанного числа дней” (Delete user profiles older than a specified number days on system restart);
  5. Включите политику и укажите через сколько дней профиль пользователя считается неактивным и “Служба профилей пользователей Windows” можно автоматически удалить такой профиль при следующей перезагрузке. Обычно тут стоит указать не менее 45-90 дней;
    gpo удалить профили старше 60 дней при перезагрузке

  6. После применения новых настроек групповых политк, служба User Profile Services на ваших серверах Windows будет автоматически удалять старые профили пользователей. Удаление выполняется при перезагрузке сервера.

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

Другой недостаток — вы не можете запретить удаление определенных профилей, например, локальных учетных записей, администраторов и т.д.

В версиях до Windows 11/10 и Windows Server 2022/2019 эта политика работала некорректно. Дело в том, что неактивноть профиля пользователя ранее определялась по дате именения файла NTUSER.dat. При установке обновлений Windows, служба Trusted Installer может менять дату изменения файла NTUSER.dat в профиле каждого пользователя. В результате служба Win32_UserProfile считает, что профиль использовался недавно.

В современных версиях Windows эта политика проверяет активность профиля пользователей по параметрам LocalProfileUnloadTimeLow и LocalProfileUnloadTimeHigh в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\<User Sid>
.

LocalProfileLoadTimeLow в ветке реестра ProfileList

Вы можете получить значения параметров реестра LocalProfileLoadTimeLow и LocalProfileUnloadTimeHigh в привычном формате времени с помощью скрипта:

$profilelist = Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
foreach ($p in $profilelist) {
    try {
        $objUser = (New-Object System.Security.Principal.SecurityIdentifier($p.PSChildName)).Translate([System.Security.Principal.NTAccount]).value
    } catch {
        $objUser = "[UNKNOWN]"
  }
    Remove-Variable -Force LTH,LTL,UTH,UTL -ErrorAction SilentlyContinue
    $LTH = '{0:X8}' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileLoadTimeHigh -ErrorAction SilentlyContinue).LocalProfileLoadTimeHigh
    $LTL = '{0:X8}' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileLoadTimeLow -ErrorAction SilentlyContinue).LocalProfileLoadTimeLow
    $UTH = '{0:X8}' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileUnloadTimeHigh -ErrorAction SilentlyContinue).LocalProfileUnloadTimeHigh
    $UTL = '{0:X8}' -f (Get-ItemProperty -Path $p.PSPath -Name LocalProfileUnloadTimeLow -ErrorAction SilentlyContinue).LocalProfileUnloadTimeLow
    $LoadTime = if ($LTH -and $LTL) {
        [datetime]::FromFileTime("0x$LTH$LTL")
    } else {
        $null
    }
    $UnloadTime = if ($UTH -and $UTL) {
        [datetime]::FromFileTime("0x$UTH$UTL")
    } else {
        $null
    }
    [pscustomobject][ordered]@{
        User = $objUser
        SID = $p.PSChildName
        Loadtime = $LoadTime
        UnloadTime = $UnloadTime
    }
} 

получить время последнего входа в профиль в windows

PowerShell скрипт для удаления старых профилей пользователей в Windows

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

Сначала попробуем подсчитать размер профиля каждого пользователя в папке C:\Users c помощью простого скрипта из статьи “Вывести размер папок с помощью PowerShell”:

gci -force ‘C:\Users\’-ErrorAction SilentlyContinue | Where { !($_.Attributes -match " ReparsePoint") }| ? { $_ -is [io.directoryinfo] } | % {
$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$_.fullname, ‘{0:N2} GB’ -f ($len / 1Gb)
$sum = $sum + $len
}
“Общий размер профилей”,'{0:N2} GB’ -f ($sum / 1Gb)

Итого суммарный размер всех профилей пользователей в каталоге C:\Users около 22 Гб.

Теперь выведем список пользователей, профиль которых не использовался более 60 дней. Для поиска можно использовать значение атрибута профиля LastUseTime.

Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-60))}| Measure-Object

У меня на терминальном сервере оказалось 143 профиля неактивных пользователей (общим размером около 10 Гб).

получить список неактивных пользователей с профилями

Следующий PowerShell скрипт выведет список подробную информацию о профилях пользователей, которые не обновлялись более 60 дней. Скрипт сконвертирует SID пользователя в имя, посчитает размер профиля каждого пользователя и выведет все в таблице:

$allprofilesinfo = @()
$OldProfiles=Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-60))}
Foreach ($OldProfile in $OldProfiles)
   {$objSID = New-Object System.Security.Principal.SecurityIdentifier ($OldProfile.SID)
    $objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
        $userinfo = New-Object PSObject -Property @{
            userName = $objUser.Value
            ProfilePath = $OldProfile.localpath
            LastUsedDate = $OldProfile.ConvertToDateTime($OldProfile.LastUseTime)
            FolderSize =  "{0:N2} GB" -f ((gci –force $OldProfile.localpath –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb) 
        }
    $allprofilesinfo += $userinfo
   }
$allprofilesinfo 

скрипт для получения размера старых профилей на диске

Чтобы удалить все эти профили достаточно добавить перенаправить список на команду Remove-WmiObject (перед использование скрипта удаления желательно несколько раз перепроверить его вывод с помощью параметра –WhatIf ):

Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and (!$_.Loaded) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-30))} | Remove-WmiObject –WhatIf

Как мы уже упомянули выше, при установке некоторых обновлений Windows, служба Trusted installer может менять дату изменения файла NTUSER.dat в профиле каждого пользователя.

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

gwmi win32_quickfixengineering |sort installedon  |select InstalledOn -Last 1

Или с помощью модуля PSWindowsUpdate:

Get-WUHistory | Select-Object -First 20

Скорее всего она совпадет с датой изменения профилей. Поэтому в старых версиях Windows можно получить список неактивных профилей с помощью другого скрипта, который проверяет атрибуту lastwritetime каталога пользователя:

$USERS= (Get-ChildItem -directory -force 'C:\Users' | Where { ((Get-Date) — $_.lastwritetime).days -ge 60 } | % {'c:\users\' + $_.Name})
foreach ($User in $USERS) {
Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and (!$_.Loaded) -and ($_.LocalPath -eq $User)} | Remove-WmiObject WhatIf }

Чтобы не удалять профили некоторых пользователей, например, специальные аккаунты System и Network Service, учетную запись локального администратора, пользователей с активными сессиями, список аккаунтов-исключений), нужно модифицировать скрипт следующим образом:

#Список аккаунтов, чьи профили нельзя удалять
$ExcludedUsers ="Public","zenoss","svc",”user_1”,”user_2”
$LocalProfiles=Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and (!$_.Loaded) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-60))}
foreach ($LocalProfile in $LocalProfiles)
{
if (!($ExcludedUsers -like $LocalProfile.LocalPath.Replace("C:\Users\","")))
{
$LocalProfile | Remove-WmiObject
Write-host $LocalProfile.LocalPath, "профиль удален” -ForegroundColor Magenta
}
}

Вы можете настроить запуск этого скрипта через shutdown скрипт групповой политики или по расписанию заданием планировщика. (перед настройкой автоматического удаления профилей внимательно протестируйте скрипт в своей среде!).

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

$users = Get-ADGroupMember -Identity DisabledUsers | Foreach {$_.Sid.Value}
$profiles = Get-WmiObject Win32_UserProfile
$profiles | Where {$users -eq $_.Sid} | Foreach {$_.Delete()}

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Войти в скрытого пользователя windows 7
  • Windows 10 iot корпоративная ltsc что это
  • Как убрать надпись windows 10 корпоративная в правом нижнем углу навсегда
  • Гаснет монитор после загрузки windows
  • Ccleaner для windows 10 код активации с именем