В Windows имя учетной записи пользователя будет отличаться от имени профиля пользователя после его изменения с панели управления.
Как найти исходное имя профиля пользователя из измененного имени учетной записи пользователя?
источник
В Windows имя учетной записи пользователя будет отличаться от имени профиля пользователя после его изменения с панели управления.
Как найти исходное имя профиля пользователя из измененного имени учетной записи пользователя?
У каждой учетной записи есть два свойства «name», поэтому позвольте мне немного прояснить ситуацию, чтобы не запутаться. Одним из них является имя учетной записи SAM (Security Account Manager), которое отображается в выходных данных net user
. Это имя учетной записи в отношении низкоуровневых компонентов ОС. Другое - это отображаемое имя, которое отображается на странице «Учетные записи пользователей» панели управления и в меню «Пуск». Оснастка «Местные пользователи и группы» для MMC ( lusrmgr.msc
) отображает как: имя SAM в столбце «Имя», так и отображаемое имя в столбце «Полное имя». Имя SAM - это то, что используется для создания папки профиля.
Изменить имя SAM не очень легко, если вы не используете эту оснастку MMC. Только изменения имени SAM приводят к событию 4781. Я подозреваю, что, учитывая, что вы не видите событие 4781 в своем журнале, изменилось только отображаемое имя. Это создает только событие 4738 («учетная запись пользователя была изменена»). Событие 4738 перечисляет только новое значение для отображаемого имени, а не старое значение, и я подозреваю, что история отображаемых имен нигде не хранится (ваша лучшая надежда будет копаться в журналах для большего количества экземпляров 4738).
К счастью, найти путь к профилю из отображаемого имени не так уж сложно. Откройте PowerShell и введите эту команду:
gwmi win32_useraccount
Вы получаете кучу записей, которые выглядят так:
AccountType : 512
Caption : <redacted>\tester
Domain : <redacted>
SID : S-1-5-21-<redacted>-1018
FullName : Test Account
Name : tester
Найдите тот, на FullName
котором отображается отображаемое имя учетной записи. Затем посмотрите на SID
значение (я отредактировал SID моей машины здесь). Откройте реестр и перейдите к ключу, упомянутому harrymc:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
Откройте подключ с именем, совпадающим с идентификатором SID, который вы нашли. ProfileImagePath
Значение содержит путь к их папке профиля.
Get-LocalUser : The term 'Get-LocalUser' is not recognized as the name of a cmdlet....
Get-LocalUser
командлет не существует в Windows 7 версии PowerShell. (Я тестировал на Windows 10.) Я также отредактировал свой ответ для работы на Windows 7.Как найти исходное имя профиля пользователя из измененного имени учетной записи пользователя?
В журнале событий системы безопасности Windows найдите EventID 4781: имя учетной записи было изменено :
Исходный EventID 4781: имя учетной записи было изменено
источник
Этот ответ основан на том факте, что переименование учетной записи пользователя не приводит к автоматическому изменению пути профиля.
Если учетная запись была переименована, но путь к профилю не был изменен, имя пути можно найти в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
в элементе с именемProfileImagePath
, значение которого будетC:\Users\old-user-name
.нажмите для увеличения изображения
Чтобы преобразовать отмеченный SID в имя текущей учетной записи пользователя, введите в cmd команду:
источник
net user
перечислить старые имена пользователей тоже? Хорошо, если есть много имен пользователей, это все еще трудно понять, но на ПК это обычно не так.wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name
.