1

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

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

谢谢

4

2 回答 2

2

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

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

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

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

于 2009-08-26T00:29:22.897 回答
0

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

于 2009-08-26T17:11:48.663 回答