Как изменить имя папки профиля, не перестраивая профиль пользователя с нуля?

Пользователь на работе недавно женился и попросил обновить имя пользователя своего домена, чтобы отразить его замужнее имя. Она использует ПК с Windows 7 в домене Windows 2003.

Я знаю, что могу просто обновить имя пользователя в AD, и этого, вероятно, будет достаточно по большей части; однако структура папок на ее ПК не будет отражать это изменение, что может привести к путанице в дальнейшем:

c:\users\old-username\

Besides completely re-creating the user's profile on this PC from scratch, how can I correct the misspelling in the user's profile?

5 ответов

Microsoft has an answer for this:

Both give the same information, in different ways. The important part is that renaming the profile's pathname requires an update to the registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Хотя здесь все правильно, всем вам не хватает одной очень важной вещи:

ЭТО НЕ ИСПРАВИТ ПУТИ УЖЕ УСТАНОВЛЕННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, КОТОРОЕ ДЕЛАЕТ ЗАПИСИ В папку \USERS\USERNAME\APPDATA. Все записи здесь по-прежнему указывают на старое имя профиля пользователя. Это приведет к таким проблемам, как «путь не найден» при удалении приложений или при их открытии. Кроме того, вы повредите свой профиль Outlook и еще черт знает что. В итоге я сделал резервную копию данных пользователя, удалил поврежденный профиль и воссоздал с нуля новый профиль для этого переименованного пользователя, а также восстановил данные пользователя.

Я нашел сотни веб-сайтов с более или менее одинаковой процедурой переименования папки профиля пользователя, но на всех них не было того, что я упомянул. Я могу сказать, что этот метод работает очень хорошо, если это недавно созданный профиль, тогда вы немедленно переименовываете имя пользователя: без настройки/установки чего-либо до процесса переименования, в этом случае это работает безупречно!

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

В дополнение к ответам здесь есть приложение под названием RegEditX, которое позволяет массово изменять записи реестра. Я использовал его, чтобы изменить свое имя пользователя, скажем, с "Jos_Smith" на "JoeSmith". Одно очень важное замечание: в дополнение к изменению "Jos_Smith" на "JoeSmith", вам также необходимо изменить все записи "Jos_Sm ~" на "JoeSmi ~". Эти записи в основном находятся в записях установочной папки, т.е. где приложение хранит свои установочные файлы. Вот ссылка: http://www.dcsoft.com/products/regeditx/

От: https://social.technet.microsoft.com/Forums/exchange/en-US/0a3a20fa-85d2-414e-aff2-267d5f2ca80c/rename-a-username-and-email-address-due-to-marriage-or-divorce

На вкладке "Редактор атрибутов" [пользователей и групп Active Directory -> Пользователи -> (имя пользователя) -> Свойства] найдите атрибут с именем "objectSID" и напишите это число на листе бумаги для дальнейшего использования.

...

[На компьютере пользователя войдите как Admin и] Переименуйте папку профиля пользователя:

Перейдите в C: \ Documents and Settings \ isingle. Щелкните правой кнопкой мыши папку, выберите "Переименовать". Переименуйте папку в C: \ Documents and Settings \ imarried.

Измените путь к изображению профиля в реестре:

Пуск> Выполнить> regedt32 Разверните в HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList

Выберите правильный SID, который вы записали ранее, когда отметили его в ADUC выше. На правой панели дважды щелкните значение ProfileImagePath и измените путь к профилю C: \ Documents and Settings \ imarried.

Закройте редактор реестра и перезапустите Windows.

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

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

+ Первая часть

Эта часть хорошо документирована здесь (скриншоты)

  1. щелкните правой кнопкой мыши на C: User/[old_name]property выбирать share with nobody (это может занять час)
  2. В панели управления создайте новую учетную запись администратора с именем TempAdmin(Вы будете использовать его только для переименования папки `C: User/[old_name] и изменения реестра, затем удалите его)
  3. Выйдите из своей учетной записи и войдите в TempAdmin учетная запись.
  4. Из TempAdmin переименуй C: User/[old_name] с `C: Пользователь / [новое_имя].
  5. в разделе реестра перейдите к HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ найдите запись, которая содержитProfileImagePath и щелкните правой кнопкой мыши / измените и замените старое имя новым именем. Закройте реестр.

+ Изменить учетную запись пользователя:

Run (Ctr + run) netplwiz: (это открывает user account). Установите флажок "Пользователи должны ввести имя пользователя и пароль, чтобы использовать этот компьютер". И выберите old_name учетной записи пользователя и нажмите кнопку "Свойства". Измените имя пользователя и полное имя с новым именем.

+ Попробуй это:

Перезагрузите компьютер, затем войдите в свою новую учетную запись. (Если учетная запись с новым именем не отображается, не убивайте себя. Возможно, это связано с тем, что она не установлена ​​в качестве администратора. Просто войдите в TempAdmin и установите его в качестве администратора, используя netplwiz окна.

+ Найти и заменить оставшееся "старое имя" в реестре.

  1. Чтобы найти (старое_имя) замену (новое_имя) в реестре, вы можете использовать regedt33 (с открытым исходным кодом). Запустите его от имени администратора. Вероятно, лучше искать с учетом регистра и запускать его несколько раз. Это только изменит ключ, которым вы владеете (их право собственности установлено на ваше имя).

  2. Затем используйте find особенность реестра для поиска оставшегося old_name (regedt33 не может редактировать защищенные ключи). В реестре найти функцию снимите флажок "соответствовать только всей строке", нажмите F3, чтобы найти снова). Самый быстрый способ состоит в том, чтобы изменить изменение разрешения И владельца родительской папки и установить ее как наследуемую для детей *. Затем снова запустите regedt33 (на этот раз он сможет изменять ключи) (Edit: regedt33 глючит, на каком-то компьютере он скажет, что изменил ключи, но не сделал. Я не нашел другого (быстрого) решения, кроме удаление и повторная установка ссылки на программное обеспечение для этих ключей, например, Python)

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

+ Найти и заменить оставшееся "старое имя" в файлах (в основном ваши настройки).

Запустите dngrep от имени администратора (с открытым исходным кодом). Используйте его, чтобы найти и заменить в C:\Users\[user]\AppData и однажды с C:\Users\[user]\Desktop, Сначала выполните поиск, а затем проверьте, нужно ли что-то менять, если это так, замените его. (Вы можете исключить файлы, используя правую кнопку мыши. В опции укажите 1 в качестве порога совпадения, чтобы найти именно old_name)

+ Затем исправьте другие вещи:

  1. Задачи. Вам нужно будет экспортировать задачу в планировщик, изменить ее и снова импортировать.

  2. проверьте ваши ярлыки (также в папке автозагрузки)


(*) Редактировать: Быть администратором недостаточно. Вы должны иметь полный контроль (разрешение), а также право собственности на ключ, который вы изменяете.

Чтобы изменить разрешение: щелкните правой кнопкой мыши / разрешение / проверьте полный контроль / ок

Чтобы изменить владельца: щелкните правой кнопкой мыши / разрешение / расширенный / нажмите на свое имя. Если вы хотите установить разрешение для детей, проверьте replace all child permission with inheritable permission from this object,

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

Функция поиска не выглядит надежной. Я запускаю его несколько раз (верхний регистр, нижний регистр и т. Д.), Но все еще нашел новое old_name для изменения.

Другие вопросы по тегам