Как я могу определить имя пользователя и домен, если у меня есть только SID пользователя?
psgetsid
из SysInternals PSTools
сделаю это. Поместите SID в командную строку, он даст вам имя пользователя / группы, и наоборот.
ADFind может это сделать. Список опций есть Вот. Например, вы можете сделать что-то вроде этого, чтобы экспортировать список пользователей с их SID:
adfind -h domaincontroller01:389 -b "CN=Users,DC=domain,DC=com" -f "(objectClass=user)" objectSID displayName
Вы можете запустить ADFind из любого окна, если он может подключиться к контроллеру домена. Очевидно, вы должны заменить domaincontroller01 именем или IP-адресом контроллера домена и изменить «CN = Users, DC = domain, DC = com», чтобы отразить путь к рассматриваемым пользователям.
Запустите windows powershell и запустите:
$strSID="S-1-5-21-500000003-1000000000-1000000003-1001"
$uSid = [ADSI]"LDAP://<SID=$strSID>"
echo $uSid
вывод должен выглядеть примерно так:
distinguishedName : {CN=John Doe,OU=Domain Admins,OU=People,OU=xxx,DC=xxx}
Path : LDAP://<SID=S-1-5-21-500000003-1000000000-1000000003-1001>
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
S-1-5-19
)ProfileImagePath
(это будет что-то вроде %SystemDrive%\Documents and Settings\LocalService
). Итак, в этом примере SID S-1-5-19 - LocalService