将可分辨名称转换为规范名称

Dre*_*pin 1 c# directoryservices active-directory directoryentry

使用System.DirectoryServices(即DirectoryEntry类)有没有办法将DistinguishedName属性转换为,或获取通常出现在Active Directory用户和计算机管理单元中的规范名称?我意识到我可以使用正则表达式来做到这一点,但我更喜欢更可靠的方法.

例如,我想转换它

CN = Murdock \,James,OU =禁用用户,OU = GOG,DC = contoso,DC =本地

对此

contoso.local/GOG /残疾用户/默多克,詹姆斯

use*_*239 5

这是一个构造属性.在DirectoryEntry上,您需要使用RefreshCache:

var de = new DirectoryEntry("CN=Murdock\, James,OU=Disabled Users,OU=GOG,DC=contoso,DC=local");
de.RefreshCache(new string[] {"canonicalName"});
Run Code Online (Sandbox Code Playgroud)