W systemie Windows nazwa konta użytkownika różni się od nazwy profilu użytkownika po zmianie z Panelu sterowania.
Jak znaleźć oryginalną nazwę profilu użytkownika ze zmienionej nazwy konta użytkownika?
W systemie Windows nazwa konta użytkownika różni się od nazwy profilu użytkownika po zmianie z Panelu sterowania.
Jak znaleźć oryginalną nazwę profilu użytkownika ze zmienionej nazwy konta użytkownika?
Odpowiedzi:
Istnieją dwa właściwości „nazwy” każdego konta, więc pozwólcie, że wyjaśnię trochę, abyśmy się nie mylili. Jednym z nich jest nazwa konta SAM (Security Account Manager), która pojawia się na wyjściu net user
. To jest nazwa konta, jeśli chodzi o komponenty systemu operacyjnego niskiego poziomu. Druga to nazwa wyświetlana, która pojawia się na stronie Konta użytkowników Panelu sterowania oraz w menu Start. Przystawka Lokalni użytkownicy i grupy dla MMC ( lusrmgr.msc
) pokazuje zarówno: nazwę SAM w kolumnie Nazwa, jak i nazwę wyświetlaną w kolumnie Pełna nazwa. Nazwa SAM jest używana do utworzenia folderu profilu.
Zmiana nazwy SAM nie jest łatwa, chyba że użyjesz tej przystawki MMC. Tylko zmiany w nazwie SAM powodują zdarzenie 4781. Podejrzewam, biorąc pod uwagę, że nie widzisz zdarzenia 4781 w twoim dzienniku, że zmieniła się tylko nazwa wyświetlana. To powoduje tylko zdarzenie 4738 („konto użytkownika zostało zmienione”). Zdarzenie 4738 wyświetla tylko nową wartość wyświetlanej nazwy, a nie starą wartość. Podejrzewam, że historia nazw wyświetlanych nie jest nigdzie przechowywana (twoją nadzieją byłoby przekopanie się do dzienników w poszukiwaniu większej liczby instancji 4738).
Na szczęście znalezienie ścieżki profilu z wyświetlanej nazwy nie jest zbyt trudne. Otwórz PowerShell i wpisz następujące polecenie:
gwmi win32_useraccount
Otrzymasz kilka wpisów, które wyglądają tak:
AccountType : 512
Caption : <redacted>\tester
Domain : <redacted>
SID : S-1-5-21-<redacted>-1018
FullName : Test Account
Name : tester
Znajdź ten z FullName
wyświetlaną nazwą konta. Następnie spójrz na SID
wartość (zredagowałem tutaj SID mojej maszyny). Otwórz rejestr i przejdź do klucza wymienionego przez harrymc:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
Otwórz podklucz o tej samej nazwie co znaleziony identyfikator SID. ProfileImagePath
Wartość posiada ścieżkę do swojego folderu profilu.
Get-LocalUser
cmdlet nie istnieje w wersji Windows 7 PowerShell. (Przetestowałem na Windows 10.) Zredagowałem swoją odpowiedź, aby pracować również na Windows 7.
Sprawdź w dzienniku zdarzeń Systemu zabezpieczeń systemu Windows identyfikator zdarzenia 4781: Nazwa konta została zmieniona :
4781: Nazwa konta została zmieniona
Użytkownik zidentyfikowany przez Temat: zmienił normalną nazwę logowania lub wcześniejszą nazwę logowania użytkownika zidentyfikowanego przez Konto docelowe :. Wydarzenie 4738 zapewnia lepsze informacje na temat tej zmiany.
To zdarzenie jest rejestrowane zarówno dla lokalnych kont SAM, jak i kont domeny.
Zobaczysz także identyfikator zdarzenia 4738 informujący o tych samych informacjach.
Przedmiot:
Sesja użytkownika i logowania, która wykonała akcję.
- Identyfikator bezpieczeństwa: identyfikator SID konta.
- Nazwa konta: nazwa logowania do konta.
- Domena konta: domena lub - w przypadku kont lokalnych - nazwa komputera.
- Identyfikator logowania to częściowo unikatowy (unikalny między kolejnymi uruchomieniami) numer identyfikujący sesję logowania. Identyfikator logowania pozwala skorelować wstecz ze zdarzeniem logowania (4624), a także z innymi zdarzeniami zarejestrowanymi podczas tej samej sesji logowania.
Konto docelowe:
- Identyfikator bezpieczeństwa: SID konta
- Nazwa konta: nazwa konta
- Domena konta: domena konta
- Nazwa starego konta: stara nazwa logowania
- Nazwa nowego konta: nowa nazwa logowania
Ta odpowiedź opiera się na fakcie, że zmiana nazwy konta użytkownika nie powoduje automatycznej zmiany ścieżki profilu.
Jeśli nazwa konta została zmieniona, ale ścieżka profilu nie została zmieniona, nazwę ścieżki można znaleźć w rejestrze
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
w pozycji o nazwie, ProfileImagePath
której wartość będzie
C:\Users\old-user-name
.
Kliknij, aby powiększyć obrazek
Aby przekonwertować oznaczony SID na nazwę bieżącego konta użytkownika, wpisz w cmd polecenie:
wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name
net user
zawiera również starych nazw użytkowników? Okej, jeśli jest dużo nazw użytkowników, wciąż trudno jest je rozgryźć, ale na PC zazwyczaj tak nie jest.
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....