所以我有一个SID
FSP
:S-1-5-21-2127521184-1604012920-1887927527-72713
。
翻译工作in powershell但我想自己做ldap查询,例如here,但在正确的SID
转换方面遇到一些麻烦。
您是否可以根据SID
为我提供相应帐户名称的查询?
答案 0 :(得分:1)
您可以使用LDAP://<SID=S-1-5-21-2127521184-1604012920-1887927527-72713>
使用SID直接绑定到对象。然后在那之后获取用户名。
在PowerShell中,它看起来像:
$account = [adsi]"LDAP://<SID=S-1-5-21-2127521184-1604012920-1887927527-72713>"
$username = $account.Properties["sAMAccountName"]
如果您运行此计算机的计算机所在的域与该帐户不同,则可能必须指定该域:
$account = [adsi]"LDAP://domain.com/<SID=S-1-5-21-2127521184-1604012920-1887927527-72713>"
答案 1 :(得分:1)
如果您有Java可用,则可以直接查询ObjectSID。
我可以使用像:
这样的ldapsearchldapsearch -h example.net -D "EXAMPLE\myID" -b "OU=Accounts,DC=EXAMPLE,DC=NET" -s sub -a search -z 1000 "(ObjectSID=S-1-5-21-333675845-1535931152-1111140340-22234762)" "objectClass"
获得结果。
# extended LDIF
# LDAPv3
# base <OU=Accounts,DC=EXAMPLE,DC=NET> with scope subtree
# filter: (ObjectSID=S-1-5-21-333675845-1535931152-1111140340-22234762)
# requesting: objectClass samAccountName
#
# userid, sales, Accounts, EXAMPLE.NET
dn: CN=userid,OU=sales,OU=Accounts,DC=EXAMPLE,DC=NET
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
sAMAccountName: userid
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
此搜索是从Linux机器完成的,由未由ObjectSID表示的用户完成。