В 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командлет не существует в Windows 7 версии PowerShell. (Я тестировал на Windows 10.) Я также отредактировал свой ответ для работы на Windows 7.
В журнале событий системы безопасности Windows найдите EventID 4781: имя учетной записи было изменено :
4781: имя учетной записи было изменено
Пользователь, указанный в Subject: изменил либо обычное имя входа в систему, либо имя входа в систему, предшествующее Windows 2000, для пользователя, идентифицированного целевой учетной записью :. Событие 4738 фактически предоставляет лучшую информацию об этом изменении.
Это событие регистрируется как для локальных учетных записей SAM, так и для учетных записей домена.
Вы также увидите событие с кодом 4738, информирующее вас о той же информации.
Тема:
Пользователь и сеанс входа, который выполнил действие.
- Идентификатор безопасности: SID учетной записи.
- Имя учетной записи: имя для входа в учетную запись.
- Домен учетной записи: домен или, в случае локальных учетных записей, имя компьютера.
- Идентификатор входа - это полууникальный (уникальный между перезагрузками) номер, который идентифицирует сеанс входа. Идентификатор входа в систему позволяет коррелировать в обратном направлении к событию входа в систему (4624), а также к другим событиям, зарегистрированным во время того же сеанса входа в систему.
Целевая учетная запись:
- Идентификатор безопасности: SID учетной записи
- Имя учетной записи: имя учетной записи
- Домен аккаунта: домен аккаунта
- Старая учетная запись: старое имя входа
- Имя новой учетной записи: новое имя для входа
Этот ответ основан на том факте, что переименование учетной записи пользователя не приводит к автоматическому изменению пути профиля.
Если учетная запись была переименована, но путь к профилю не был изменен, имя пути можно найти в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
в элементе с именем ProfileImagePath, значение которого будет
C:\Users\old-user-name.
нажмите для увеличения изображения
Чтобы преобразовать отмеченный SID в имя текущей учетной записи пользователя, введите в cmd команду:
wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name
net userперечислить старые имена пользователей тоже? Хорошо, если есть много имен пользователей, это все еще трудно понять, но на ПК это обычно не так.
wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name.
Get-LocalUser : The term 'Get-LocalUser' is not recognized as the name of a cmdlet....