Как преобразовать имя upn в имя для входа?
-
19-09-2019 - |
Вопрос
Как преобразовать имя upn, например «user@example.com», в соответствующее имя учетной записи NT, которое часто имеет вид «EXAMPLE\user»?В знакомых мне доменах я могу взять первую часть после знака «@», но меня беспокоит, что это не гарантирует правильности.Нужно ли мне запускать запрос ldap?Если бы я это сделал, было бы это свойство в DirectoryEntry пользователя?
Я пытаюсь сделать это на C#, но буду рад любым указаниям или исправлениям в моей терминологии.
Спасибо
Решение 2
В итоге я использовал p-invoke для вызова DsCrackNames, вместо использования COM-интерфейса, предложенного Мишей (который, как я понимаю, является оберткой той же функции).
Другие советы
Вы можете использовать NameTranslateClass библиотеки ActiveDs, которая присутствует в Windows.
Посмотри на:http://www.rlmueller.net/NameTranslateFAQ.htm
Он написан для VBScript, но вы можете легко перенести его через взаимодействие с C#.
См. MSDN:http://msdn.microsoft.com/en-us/library/aa706046(VS.85).aspx