Як визначити (оригінальне) ім'я профілю користувача зі зміненого імені облікового запису користувача в Windows?


8

У Windows ім'я облікового запису користувача буде відрізнятися від імені профілю користувача після його зміни на панелі керування.

Як знайти оригінальне ім’я профілю користувача зі зміненого імені облікового запису користувача?

Відповіді:


6

У кожному обліковому записі є два властивості "ім'я", тому дозвольте мені трохи прояснити речі, щоб ми не плуталися. Одне - ім'я облікового запису SAM (Менеджер облікових записів безпеки), яке відображається у висновку 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....
Fenixtriver

@FeniXtriver На жаль, Get-LocalUserкомандлет не існує у версії PowerShell для Windows 7. (Я тестував у Windows 10.) Я відредагував свою відповідь і для роботи в Windows 7.
Ben N

Я фактично тестував і в Windows 10, але це, здається, не працює. У будь-якому випадку нова команда, що дається, працює і зараз. Велике спасибі за ваш цінний внесок. Я позначив вашу відповідь правильною. :)
Fenixtriver

8

Як знайти оригінальне ім’я профілю користувача зі зміненого імені облікового запису користувача?

Подивіться в журнал подій системи безпеки Windows для EventID 4781: Ім'я облікового запису було змінено :

4781: Ім'я облікового запису було змінено

Користувач, визначений Subject: змінив або звичайне ім'я для входу, або ім'я для входу до Win2k користувача, визначене цільовим обліковим записом :. Подія 4738 фактично надає кращу інформацію про цю зміну.

Ця подія реєструється як для локальних акаунтів SAM, так і для облікових записів домену.

Ви також побачите ID події 4738, який повідомляє вам про ту саму інформацію.

Тема:

Сеанс користувача та входу, який виконував дію.

  • Ідентифікатор безпеки: SID облікового запису.
  • Назва рахунку: ім'я для входу в обліковий запис.
  • Домен облікового запису: домен або - у випадку локальних облікових записів - ім'я комп'ютера.
  • Ідентифікатор входу - напів унікальний (унікальний між перезавантаженнями) номер, який ідентифікує сеанс входу. Ідентифікатор входу дозволяє співвіднести назад до події входу (4624), а також з іншими подіями, записаними під час сеансу входу.

Цільовий рахунок:

  • Ідентифікатор безпеки: SID облікового запису
  • Назва рахунку: назва рахунку
  • Домен облікового запису: домен облікового запису
  • Стара назва облікового запису: стара ім’я для входу
  • Нова назва облікового запису: нове ім’я для входу

Джерело EventID 4781: Ім'я облікового запису було змінено


Не вдалося знайти цю подію в Журналі подій. Чи є інша можливість, крім імені облікового запису користувача, змінити ім’я облікового запису користувача, щоб відрізнятись від імені профілю користувача? Або є якийсь інший спосіб ідентифікації?
Fenixtriver

@FeniXtriver Ви шукали в журналі подій безпеки ? Я не знаю про інші способи зміни імені профілю користувача, якщо хтось не зламав реєстр.
DavidPostill

1
Я підозрюю, що тут відбувається деяка плутанина щодо імені облікового запису SAM проти відображуваного імені. Щойно я перевірив, і зміна відображуваного імені (наприклад, на панелі керування) не створює події 4781, оскільки це не змінює ім'я SAM.
Бен Н

@DavidPostill Так, я заглянув у журнал подій безпеки. Я вважаю, що Бен Н має рацію. І я позначив його відповідь правильною. Дякуємо за вашу допомогу. Не соромтеся повідомте мене, якщо ви все ще можете додати щось. :)
Fenixtriver

8

Ця відповідь ґрунтується на тому, що перейменування облікового запису користувача автоматично не змінює шлях до профілю.

Якщо обліковий запис було перейменовано, але шлях до профілю не було змінено, ім'я шляху можна знайти в реєстрі 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

1
Щоб додати більше ... не net userвідображаються і старі імена користувачів? Гаразд, якщо імен користувачів є багато, його все-таки важко розібратися, але на ПК це зазвичай не так.
LPChip

1
@harrymc Як ти дізнався, який шлях до профілю для цього імені облікового запису?
Fenixtriver

1
Одним із способів було б взяти ключ, який є довгим рядком, що починається з 'S' і вводить команду cmd wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name.
harrymc

@LPChip, ти маєш рацію.
Fenixtriver

@harrymc Проблема полягає в тому, що ми б не знали, що таке SID. На даний момент я відзначив правильну відповідь Бена Н. Дуже дякую за ваш внесок. Не соромтеся повідомити мені, якщо у вас є що додати. :)
Fenixtriver
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.