gpt4 book ai didi

.net - 如何根据 objectGUID 获取 AD 用户的 'memberof' 属性值?

转载 作者:行者123 更新时间:2023-12-05 03:14:05 24 4
gpt4 key购买 nike

'memberof' 是 Active Directory 用户帐户的属性,用于描述用户的组成员详细信息。如果我们使用 .Net 或 Java 来获取用户详细信息,那么我们将根据用户所属组的“专有名称”获得“memberof”属性值。那么有没有办法在 JAVA 或 .NET 中根据 objectGUID 获取这些组名?

最佳答案

您可以使用“扩展 DN”LDAP 扩展控制。它只能用于广告搜索。

C#代码:

// Here I get the user object and then do a AD search.
// Instead, you may search for that user object directly.
DirectoryEntry userEntry = new DirectoryEntry("LDAP://<server>/<user DN>", "user", "pwd");

DirectorySearcher searcher = new DirectorySearcher(userEntry);
searcher.SearchScope = SearchScope.Base;
searcher.ExtendedDN = ExtendedDN.Standard;
searcher.PropertiesToLoad.Clear();
searcher.PropertiesToLoad.Add("memberOf");

SearchResult result = searcher.FindOne();

foreach (string val in result.Properties["memberOf"])
{
Console.WriteLine(val);
}

根据传递给 ExtendedDN 的值,它会返回值

<GUID=guid_value>;<SID=sid_value>;dn
  • ExtendedDN.None(只有 DN,这是默认值):
    CN=Administrator, CN=Users,DC=Fabrikam,DC=com

  • ExtendedDN.Standard(标准字符串格式):
    <GUID=bdbfd4b3-453c-42ee-98e2-7b4a698a61b8>;<SID=S-1-5-21-2354834273-1534127952-2340477679-500>;CN=Administrator, CN=Users,DC=Fabrikam,DC=com

  • ExtendedDN.HexString(十六进制格式):
    <GUID=b3d4bfbd3c45ee4298e27b4a698a61b8>;<SID=01050000000000051500000061eb5b8c50ef705befda808bf4010000>;CN=Administrator, CN=Users,DC=Fabrikam,DC=com

如果对象没有SID,SID部分将被省略:

<GUID=guid_value>;dn

关于Extended DN的详细信息,请查看:

http://msdn.microsoft.com/en-us/library/cc223349.aspx

关于.net - 如何根据 objectGUID 获取 AD 用户的 'memberof' 属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27105361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com