使用System.DirectoryServices
(即DirectoryEntry
类)有一种方法可以将DistinguishedName
属性转换为,或获取通常出现在 Active Directory中的规范名称用户&计算机管理单元?我意识到我可以使用正则表达式来做到这一点,但我更喜欢更可靠的方法。
例如,我想转换此
CN = Murdock \,James,OU =禁用用户,OU = GOG,DC = contoso,DC =本地
到这个
contoso.local / GOG /残疾用户/默多克,詹姆斯
答案 0 :(得分:5)
这是一个构造属性。在DirectoryEntry上,您需要使用RefreshCache:
var de = new DirectoryEntry("CN=Murdock\, James,OU=Disabled Users,OU=GOG,DC=contoso,DC=local");
de.RefreshCache(new string[] {"canonicalName"});
答案 1 :(得分:0)
您需要canonicalName属性。假设您已经拥有将用户作为DirectoryEntry获取的代码。
userDe.Properties["canonicalName"][0].ToString()