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

23735
Austin ''Danger'' Powers

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

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

c:\users\old-username\ 

Помимо полного воссоздания профиля пользователя на этом ПК с нуля, как я могу исправить ошибку в профиле пользователя?

2
Здесь у вас есть несколько хороших ответов, но в зависимости от того, как создаются ваши новые пользователи, вероятно, гораздо проще создать совершенно новый профиль, отразить доступ к AD, а затем перенести соответствующие папки (например, «Рабочий стол», «Избранное» и т. Д.) В новая папка профиля. Это предотвращает проблемы, подобные приведенным ниже, где вам нужно иметь дело с записями реестра и SID. Michael Frank 8 лет назад 0
На самом деле, я склоняюсь к тому, чтобы сделать это способом реестра, предложенным в ответах, поскольку это просто включает изменение одного или двух ключей реестра, с которыми я уже знаком. Я вернусь вскоре после того, как попробую. Восстановление профиля с нуля приведет к потере многих настроек профиля пользователя и увеличит объем работы, которую я требую (и, скорее всего, раздражает пользователя так или иначе!) Austin ''Danger'' Powers 8 лет назад 0
Таким образом, не было никакой причины создавать профиль пользователя с нуля - я просто сделал исправление реестра, и это было а) очень быстро и легко и б) гарантировало сохранение 100% пользовательских настроек. Спасибо всем! Austin ''Danger'' Powers 8 лет назад 0

4 ответа на вопрос

2
Thomas Dickey

У Microsoft есть ответ на это:

Оба дают одну и ту же информацию по-разному. Важной частью является то, что переименование пути к профилю требует обновления реестраHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

1
madamission

От: https://social.technet.microsoft.com/Forums/exchange/en-US/0a3a20fa-85d2-414e-aff2-267d5f2ca80c/rename-a-username-and-email-address-due-to-marriage- или развод

На вкладке «Редактор атрибутов» [пользователей и групп 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.

1
BillDOe

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

0
JinSnow

Короче говоря, вам нужно применить изменение основного ключа реестра, а затем найти замену в ключах реестра и в ваших файлах (это заняло у меня 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функцию реестра, чтобы найти оставшееся старое имя (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 для изменения.