给定用户的 SID,如何获取 AD DirectoryEntry?
我在 windowsPrincipal.getIdentity().getSid()
中将用户的 SID 作为 byte[]
。 如何从 SID 获取 Active Directory 条目 (DirectoryEntry)?
I have the user's SID as byte[]
within windowsPrincipal.getIdentity().getSid()
.
How can I get an Active Directory entry (DirectoryEntry) from the SID?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用安全标识符 类将 sid 从 byte[] 格式转换为字符串,然后直接绑定到对象:
Use the SecurityIdentifier class to convert the sid from byte[] format to string and then bind directly to the object:
我在c# Converted to VB.NET中找到了这个例子
:
显然你可以:
要获得SID = S-1-5-21-*(对不起VB.NET)
我还没有测试过C# 或我自己使用转换后的版本,但使用上面的方法以 SDDL 格式返回 SID。
I found this example in c#
Converted to VB.NET:
Obviously you can then:
To get the SID = S-1-5-21-* (sorry VB.NET)
I haven't tested the C# or used the converted version yet myself, but have used the above to return the SID in SDDL format.
我发现的最简单的方法是使用 LDAP 绑定。与尼克·吉尔斯所说的类似。更多信息请访问 MSDN
The easiest way I've found is using LDAP binding. Similar to what Nick Giles said. More info at MSDN
只要您有可用的 .Net 3.5 或 4.0,也可以在 PowerShell 中完成此操作(请参阅 https://gist。 github.com/882528(如果默认情况下不这样做)
This can also be done in PowerShell, as long as you have .Net 3.5 or 4.0 available (see https://gist.github.com/882528 if you don't by default)