Wie identifiziere ich den (ursprünglichen) Benutzerprofilnamen anhand eines geänderten Benutzerkontonamens in Windows?

8

Unter Windows unterscheidet sich der Name eines Benutzerkontos vom Namen des Benutzerprofils, nachdem er in der Systemsteuerung geändert wurde.

Wie finde ich den ursprünglichen Benutzerprofilnamen aus einem geänderten Benutzerkontonamen?

Fenixtriver
quelle

Antworten:

6

Es gibt zwei "Namen" -Eigenschaften für jedes Konto. Lassen Sie mich die Dinge ein wenig klären, damit wir nicht verwirrt werden. Einer ist der SAM-Kontoname (Security Account Manager), der in der Ausgabe von angezeigt wird net user. Dies ist der Name des Kontos für Betriebssystemkomponenten auf niedriger Ebene. Der andere ist der Anzeigename, der auf der Seite Benutzerkonten der Systemsteuerung und im Startmenü angezeigt wird. Das Snap-In Lokale Benutzer und Gruppen für MMC ( lusrmgr.msc) zeigt sowohl den SAM-Namen in der Spalte Name als auch den Anzeigenamen in der Spalte Vollständiger Name an. Der SAM-Name wird zur Erstellung des Profilordners verwendet.

Es ist nicht sehr einfach, den SAM-Namen zu ändern, wenn Sie dieses MMC-Snap-In nicht verwenden. Nur Änderungen am SAM-Namen führen zu Ereignis 4781. Ich vermute, da in Ihrem Protokoll kein Ereignis 4781 angezeigt wird, wurde nur der Anzeigename geändert. Dies erzeugt nur das Ereignis 4738 ("ein Benutzerkonto wurde geändert"). Ereignis 4738 listet nur den neuen Wert für den Anzeigenamen auf, nicht den alten Wert, und ich vermute, dass der Verlauf der Anzeigenamen nirgendwo gespeichert wird (Ihre beste Hoffnung wäre, die Protokolle nach weiteren Instanzen von 4738 zu durchsuchen).

Glücklicherweise ist es nicht allzu schwierig, den Profilpfad anhand eines Anzeigenamens zu finden. Öffnen Sie PowerShell und geben Sie diesen Befehl ein:

gwmi win32_useraccount

Sie erhalten eine Reihe von Einträgen, die folgendermaßen aussehen:

AccountType : 512
Caption     : <redacted>\tester
Domain      : <redacted>
SID         : S-1-5-21-<redacted>-1018
FullName    : Test Account
Name        : tester

Suchen Sie den mit dem FullNameAnzeigenamen des Kontos. Schauen Sie sich dann den SIDWert an (ich habe meine Maschinen-SID hier redigiert). Öffnen Sie die Registrierung und navigieren Sie zu dem von harrymc genannten Schlüssel:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Öffnen Sie den Unterschlüssel mit dem gleichen Namen wie die gefundene SID. Der ProfileImagePathWert enthält den Pfad zu ihrem Profilordner.

Ben N.
quelle
Ich erhalte diese Fehlermeldung, nachdem ich den von Ihnen angegebenen Befehl eingegeben habe:Get-LocalUser : The term 'Get-LocalUser' is not recognized as the name of a cmdlet....
Fenixtriver
@FeniXtriver Hoppla, es sieht so aus, als ob das Get-LocalUserCmdlet in der Windows 7-Version von PowerShell nicht vorhanden ist. (Ich habe unter Windows 10 getestet.) Ich habe meine Antwort so bearbeitet, dass sie auch unter Windows 7 funktioniert.
Ben N
Ich habe auch unter Windows 10 getestet, aber es scheint nicht zu funktionieren. Wie auch immer, der neue Befehl funktioniert jetzt. Vielen Dank für Ihre wertvollen Beiträge. Ich habe Ihre Antwort als richtig markiert. :)
Fenixtriver
8

Wie finde ich den ursprünglichen Benutzerprofilnamen aus einem geänderten Benutzerkontonamen?

Suchen Sie im Ereignisprotokoll des Windows-Sicherheitssystems nach Ereignis- ID 4781: Der Name eines Kontos wurde geändert :

4781: Der Name eines Kontos wurde geändert

Der durch Betreff identifizierte Benutzer: hat entweder den normalen Anmeldenamen oder den Vor-Win2k-Anmeldenamen des durch das Zielkonto identifizierten Benutzers geändert:. Ereignis 4738 liefert tatsächlich bessere Informationen zu dieser Änderung.

Dieses Ereignis wird sowohl für lokale SAM-Konten als auch für Domänenkonten protokolliert.

Außerdem wird die Ereignis-ID 4738 angezeigt, die Sie über dieselben Informationen informiert.

Gegenstand:

Die Benutzer- und Anmeldesitzung, die die Aktion ausgeführt hat.

  • Sicherheits-ID: Die SID des Kontos.
  • Kontoname: Der Anmeldename des Kontos.
  • Kontodomäne: Die Domäne oder - bei lokalen Konten - der Computername.
  • Die Anmelde-ID ist eine halb eindeutige Nummer (zwischen Neustarts eindeutig), die die Anmeldesitzung identifiziert. Mit der Anmelde-ID können Sie rückwärts mit dem Anmeldeereignis (4624) sowie mit anderen Ereignissen korrelieren, die während derselben Anmeldesitzung protokolliert wurden.

Zielkonto:

  • Sicherheits-ID: SID des Kontos
  • Kontoname: Name des Kontos
  • Kontodomäne: Domäne des Kontos
  • Alter Kontoname: alter Anmeldename
  • Neuer Kontoname: Neuer Anmeldename

Quell- EventID 4781: Der Name eines Kontos wurde geändert

DavidPostill
quelle
Ich konnte dieses Ereignis nicht im Ereignisprotokoll finden. Gibt es eine andere Möglichkeit als den Namen des Benutzerkontos, der geändert wird, damit sich der Name des Benutzerkontos vom Namen des Benutzerprofils unterscheidet? Oder gibt es eine andere Möglichkeit, sich zu identifizieren?
Fenixtriver
@FeniXtriver Sie haben im Sicherheitsereignisprotokoll nachgesehen ? Ich kenne keine anderen Möglichkeiten, den Namen des Benutzerprofils zu ändern, es sei denn, jemand hat die Registrierung gehackt.
DavidPostill
1
Ich vermute, dass hier einige Verwirrung über den Namen des SAM-Kontos und des Anzeigenamens besteht. Ich habe gerade getestet und das Ändern des Anzeigenamens (z. B. in der Systemsteuerung) erzeugt kein Ereignis 4781, da der SAM-Name nicht geändert wird.
Ben N
@DavidPostill Ja, ich habe in das Sicherheitsereignisprotokoll geschaut. Ich glaube, Ben N hat recht. Und ich habe seine Antwort als richtig markiert. Trotzdem danke für deine Hilfe. Fühlen Sie sich frei, mich zu informieren, wenn Sie noch etwas hinzuzufügen haben. :)
Fenixtriver
8

Diese Antwort basiert auf der Tatsache, dass das Umbenennen des Benutzerkontos den Profilpfad nicht automatisch ändert.

Wenn das Konto umbenannt wurde, der Profilpfad jedoch nicht geändert wurde, finden Sie den Pfadnamen in der Registrierung unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList dem Element mit dem Namen, ProfileImagePathdessen Wert sein wird C:\Users\old-user-name.

Bild Klicken Sie für ein größeres Bild

Geben Sie den folgenden Befehl in cmd ein, um die markierte SID in den aktuellen Benutzerkontonamen zu konvertieren:

wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name
harrymc
quelle
1
Um mehr hinzuzufügen ... listet nicht auch net userdie alten Benutzernamen auf? Okay, wenn es viele Benutzernamen gibt, ist es immer noch schwer herauszufinden, aber auf einem PC ist dies normalerweise nicht der Fall.
LPChip
1
@harrymc Woher wissen Sie dann, welcher Profilpfad für welchen Kontonamen gilt?
Fenixtriver
1
Eine Möglichkeit wäre, den Schlüssel, bei dem es sich um eine lange Zeichenfolge handelt, die mit 'S' beginnt, in cmd einzugeben und den Befehl einzugeben wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name.
Harrymc
@LPChip, du hast recht.
Fenixtriver
@harrymc Das Problem ist, dass wir überhaupt nicht wissen würden, was die SID ist. Ich habe Ben Ns Antwort im Moment als richtig markiert. Trotzdem vielen Dank für Ihre Eingabe. Fühlen Sie sich frei, mich zu informieren, wenn Sie etwas hinzuzufügen haben. :)
Fenixtriver