Ich möchte das Erstellungsdatum eines lokalen Benutzerkontos erhalten (Win 7, wenn es darauf ankommt). Ich habe mir die folgenden WMI-Objekte angesehen (und natürlich Google):
Win32_UserAccount
Win32_NetworkLoginProfile
Die von zurückgegebenen Objekte NetworkLoginProfile
haben die letzte Anmeldezeit, jedoch nicht das Erstellungsdatum. Wenn Sie die Date Created
Eigenschaft ihres Profilordners überprüfen, wird lediglich das Erstellungsdatum des Ordners angegeben , nicht unbedingt das Konto selbst.
windows
powershell
wmi
user-accounts
MDMoore313
quelle
quelle
Antworten:
Die Daten befinden sich im SAM, scheinen jedoch von Microsoft nicht öffentlich dokumentiert zu sein, und ich finde keine offizielle API zum Abrufen. Ich kann anhand des Quellcodes des
chntpw
Dienstprogramms sehen, dass der Wert im Registrierungsschlüssel "F" für jedes Konto gespeichert ist. Quoth den Quellcode:Das Regressipper Forensics-Projekt verfügt über ein Plugin, das das Erstellungsdatum des Kontos angibt .
Ein Forensik-Tool ist wahrscheinlich nicht das, was Sie wollen, aber es sieht so aus, als würde Microsoft es nicht einfach machen.
Als ich dies recherchierte, fand ich es amüsant, dass ein Microsoft MVP nicht wusste, dass die Daten zur Kontoerstellung im SAM gespeichert sind . Zu seinem Vorteil ist er vielleicht nicht von dem
chntpw
Dienstprogramm entfernt, in dem ich meine Suche nach Informationen über undokumentierte SAM-Strukturen begonnen habe.quelle
Die einzige Möglichkeit, dies tatsächlich zu wissen, besteht darin, die Überwachung der Kontoverwaltung auf dem Computer zu aktivieren, als das Konto erstellt wurde. Dann wird EventID 4720 zum Erstellungsdatum im Ereignisprotokoll angezeigt. (Der Artikel sagt Active Directory, aber das gleiche gilt auch für lokale Konten; ich habe es überprüft.)
Ohne dies können Sie am nächsten kommen, indem Sie das Erstellungsdatum in der Registrierungsstruktur, der
ntuser.dat
Datei, dem Benutzerprofilordner usw. des Benutzers überprüfen. Wie in den Kommentaren erwähnt, ist dies jedoch nur in Bezug auf die erste Anmeldung des Benutzers korrekt, da dies dann der Fall ist erstellt werden.Leider ist dies ein Fall von "Wenn Sie es nicht protokolliert haben, sind diese Informationen nicht vorhanden."
quelle
Ich wollte Ihnen gerade ein POC PowerShell-Skript geben, um die Erstellungszeit zu extrahieren und zu analysieren, aber mir wurde klar, dass
chntpw
die Logik falsch ist. Der Wert, der als Erstellungszeit bezeichnet wird, ist tatsächlich die zuletzt festgelegte Kennwortzeit, obwohl diese Werte bei der ersten Kontoerstellung identisch sind. Sehen Sie hier für eine ausführliche Beschreibung des SAM.Evans zweiter Link
samparse
könnte es jedoch richtig machen. Das Betrachten funktioniert tatsächlich. Wenn Sie sich die Quelle hier ansehen , Zeile 99:Sie werden sehen, dass es
get_timestamp
von Perl ruftParse::Win32Registry
. Ich bin mir ziemlich sicher, dass dies tatsächlich die letzte Schreibzeit des Schlüssels ist. Da es den Anschein hat, dass ein bestimmter Schlüssel (HKLM\SAM\SAM\Domains\Account\Users\Names\<USERNAME>
) nur einen Zeiger auf den entsprechenden RID-Schlüssel enthält, sollte er sich nach der Erstellung nicht ändern, und die letzte Schreibzeit entspricht der Erstellungszeit.Wenn Sie sich an mehr integrierte Tools halten möchten, finden Sie hier eine Reihe von Scripting Guy-Artikeln, in denen erläutert wird, wie dies über PowerShell geschieht:
Verwenden Sie PowerShell, um auf den zuletzt geänderten Zeitstempel der Registrierung zuzugreifen
Wiederverwenden des PowerShell-Registrierungszeitstempelcodes
Erstellen Sie eine Proxy-Funktion zum Anzeigen von Zeitstempeln für Registrierungsschlüssel
Nutzen Sie Zeitstempel für Registrierungsschlüssel über PowerShell
quelle
Dieser Befehl in Powershell sollte den Trick machen:
quelle
Navigieren Sie über Arbeitsplatz zu
C: \ Benutzer und Sie sehen alle auf dem lokalen Computer aufgelisteten Benutzerkonten. Sie können mit der rechten Maustaste auf das entsprechende Benutzerkonto klicken und zu den Eigenschaften wechseln. Daraufhin wird ein Erstellungsdatum angezeigt. Dies sollte mit der Erstellung des Benutzerkontos übereinstimmen
Nur meine 2 Cent
quelle