私が持っているのがユーザーの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」を変更して、問題のユーザーへのパスを反映します。
psgetsid
from SysInternals PSTools
これを行います。コマンドラインにSIDを入力すると、ユーザー/グループ名が表示されます。その逆も同様です。
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
のようなものになります)。したがって、この例では、SIDS-1-5-19はLocalServiceです。