wake-up-neo.com

Abrufen des Benutzernamens aus den HKEY_USERS-Werten

Gibt es eine Möglichkeit, die Werte unter HKEY_USERS mit dem tatsächlichen Benutzernamen zu verbinden?
Ich habe einige ähnliche Fragen gesehen, aber die meisten (wenn nicht alle) sprechen über C # -Code, und ich brauche VBScript.

37
modz0r

Wenn Sie einen der folgenden Schlüssel betrachten:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist

Dort finden Sie eine Liste der SIDs mit verschiedenen Werten, einschließlich der "Heimatpfade", die ihre Benutzernamen enthalten.

Ich bin mir nicht sicher, wie zuverlässig das ist, und ich würde nicht empfehlen, sich damit zu beschäftigen, wenn Sie nicht wirklich wissen, was Sie tun.

61
Hans Olsson

Diese Informationen können von WMI abgefragt werden. Der folgende Befehl gibt für jeden Benutzer eine Tabelle mit einer Zeile aus, zusammen mit der SID für jeden Benutzer.

wmic useraccount get name,sid

Sie können diese Informationen auch in CSV exportieren:

wmic useraccount get name,sid /format:csv > output.csv

Ich habe dies unter Vista und 7 verwendet. Weitere Informationen finden Sie unter WMIC - Übernahme der Befehlszeilensteuerung über WMI .

23
dcharles
  1. Öffnen Sie das Register "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList \".

  2. machen Sie eine Schleife, um alle Unterschlüssel zu erhalten

  3. bei den Unterschlüsseln, an denen Sie interessiert sind, handelt es sich um diejenigen, die mit [S-1-5-21-] begonnen wurden. Dies bedeutet user (siehe Schlüsselname [ProfileImagePath]).

  4. Diejenigen, die mit [S-1-5-21-12] beginnen, sind alle lokalen Benutzer

  5. Bei denjenigen, die mit [S-1-5-21-13] beginnen, handelt es sich um alle Netzwerkbenutzer [ wenn sie Mitglied des Domained-Netzwerks ] sind und zuvor auf dem Computer angemeldet sind.

12
Stone

Bei der Suche nach meiner Benutzer-ID in der Registry habe ich gefunden 

HKEY_CURRENT_USER\Volatile Environment\Username
4
Alan Frank

Sie können den Befehl PSGetSid aus dem SysInternals-Team von Microsoft verwenden.

URL herunterladen: http://technet.Microsoft.com/de-de/sysinternals/bb897417.aspx

Verwendungszweck: 

psgetsid [\\computer[,computer[,...] | @file] [-u username [-p password]]] [account|SID]
-u  Specifies optional user name for login to remote computer.
-p  Specifies optional password for user name. If you omit this you will be prompted to enter a hidden password.
Account PsGetSid will report the SID for the specified user account rather than the computer.
SID PsGetSid will report the account for the specified SID.
Computer    Direct PsGetSid to perform the command on the remote computer or computers specified. If you omit the computer name PsGetSid runs the command on the local system, and if you specify a wildcard (\\*), PsGetSid runs the command on all computers in the current domain.
@file   PsGetSid will execute the command on each of the computers listed in the file.

Beispiel:

psgetsid S-1-5-21-583907252-682003330-839522115-63941

NB: 

  • Wenn der Benutzer ein Domänen-/AD- (LDAP-) Benutzer ist, sollte das Ausführen auf einem beliebigen Computer in der Domäne zu den gleichen Ergebnissen führen.
  • Wenn der Benutzer lokal auf dem Computer ist, sollte der Befehl entweder auf diesem Computer ausgeführt werden, oder Sie müssen den Computer über den optionalen Parameter angeben.

Update

Wenn Sie PowerShell verwenden, können die folgenden AD-Benutzer möglicherweise aufgelöst werden:

#create a drive for HKEY USERS:
New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS -ErrorAction SilentlyContinue

#List all immediate subfolders
#where they're a folder (not a key)
#and they's an SID (i.e. exclude .DEFAULT and SID_Classes entries)
#return the SID
#and return the related AD entry (should one exist).
Get-ChildItem -Path 'HKU:\' `
| ?{($_.PSIsContainer -eq $true) `
-and ($_.PSChildName -match '^S-[\d-]+$')} `
| select @{N='SID';E={$_.PSChildName}} `
, @{N='Name';E={Get-ADUser $_.PSChildName | select -expand Name}}

Sie können den SID-Filter auch weiter verfeinern, um nur die SIDs zurückzuziehen, die bei Bedarf zu einem AD-Konto aufgelöst werden. Weitere Informationen zur SID-Struktur finden Sie hier: https://technet.Microsoft.com/en-us/library/cc962011.aspx

2
JohnLBevan
for /f "tokens=8 delims=\" %a in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist" ^| find "UsrClass.dat"') do echo %a
1
DaLua

In HKEY_USERS\oneyouwanttoknow\ können Sie \Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders sehen und es wird ihre Profilpfade enthüllen. c:\users\whothisis\Desktop usw.

0
Bobby Kearan

Fertig, mit ein bisschen kreativer Programmierung, 

  1. Füllen Sie die Schlüssel in HKEY_USERS für diese lustigen Zifferntasten auf ...

  2. Auflisten der Schlüssel in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList \

und Sie werden die gleichen Zahlen finden .... In diesen Schlüsseln betrachten Sie den String-Wert: ProfileImagePath = "SomeValue", wobei die Werte entweder Folgendes sind:

"% systemroot%\system32\config\systemprofile" ... ist nicht an diesem interessiert ... da es sich nicht um einendirectory-Pfad handelt ...

% SystemDrive%\Documents and Settings\LocalService - "Lokale Dienste" % SystemDrive%\Documents and Settings\NetworkService "NETWORK SERVICE"

oder 

% SystemDrive%\Documents and Settings\USER_NAME, der in den meisten nicht manipulierten Systemen direkt in die "USERNAME" -Werte übersetzt wird, z. wo der Benutzer seinen Benutzernamen nach einigen Wochen nicht geändert hat oder die Pfade explizit geändert hat ...

0
spadge