如何将upn名称转换为登录名?

时间:2009-08-26 00:17:13

标签: .net ldap windowsdomainaccount

如何将像“user@example.com”这样的upn名称转换为相应的NT帐户名称,这通常是“EXAMPLE \ user”?在我熟悉的领域,我可以在'@'符号后面的第一部分,但我担心这不能保证是正确的。我是否必须运行ldap查询?如果我这样做,它会是用户的DirectoryEntry上的属性吗?

我正在尝试在C#中执行此操作,但我欢迎对我的术语进行任何指示或更正。

由于

2 个答案:

答案 0 :(得分:2)

您可以使用Windows中存在的ActiveDs库的NameTranslateClass。

看看: http://www.rlmueller.net/NameTranslateFAQ.htm

它是为VBScript编写的,但您可以通过interop轻松地将其传输到c#。

请参阅MSDN: http://msdn.microsoft.com/en-us/library/aa706046(VS.85).aspx

答案 1 :(得分:0)

我最终使用p-invoke来调用DsCrackNames,而不是使用Mischa建议的COM接口(我理解它是围绕同一个函数的包装器)。