将可分辨名称转换为规范名称
本文关键字:转换 规范名 | 更新日期: 2023-09-27 17:59:16
使用System.DirectoryServices
(即DirectoryEntry
类)有没有一种方法可以将DistinguishedName
属性转换为或获得通常出现在Active Directory Users&计算机管理单元?我意识到我可以使用正则表达式来实现这一点,但我更喜欢一种更可靠的方法。
例如,我想转换这个
CN=Murdock'',James,OU=禁用用户,OU=GOG,DC=contoso,DC=本地
到这个
contoso.local/GOG/禁用用户/Murdock,James
这是一个构造的属性。在DirectoryEntry上,您需要使用RefreshCache:
var de = new DirectoryEntry("CN=Murdock', James,OU=Disabled Users,OU=GOG,DC=contoso,DC=local");
de.RefreshCache(new string[] {"canonicalName"});
您将需要canonicalName属性。假设您已经有了将用户作为DirectoryEntry获取的代码。
userDe.Properties["canonicalName"][0].ToString()