2016-04-25 6 views
1

У меня есть следующий код, который возвращает мне UserPrincipal, но loginname никогда не включает имя домена. Также нет свойства «Domainname» или аналогичного.Как получить доменное имя от UserPrincipal или PrincipalSearcher

Как я могу получить от UserPrincipal или PrincipalSearcher домен к пользователю/возвращенному пользователю?

PrincipalContext ctx = new PrincipalContext(ContextType.Domain); 
    UserPrincipal user = new UserPrincipal(ctx); 
    user.SamAccountName = txtSearch.Text; 
    PrincipalSearcher searcher = new PrincipalSearcher(user); 

    PrincipalSearchResult<Principal> results = searcher.FindAll(); 
    foreach (UserPrincipal u in results) 
    { 
     Response.Write(u.Name + "<br />"); 
    } 
+0

Этот вопрос: http://stackoverflow.com/questions/10702188/where-is-the-domain-name-in-a-userprincipal-object аналогичен, но не имеет принятого ответа. Это делает: http: // stackoverflow.com/questions/4284641/get-netbiosname-from-a-userprincipal-object –

ответ

3

Он работал для меня с помощью

usercontext.Sid.Translate(typeof(NTAccount)).ToString(); 

Это возвращает domain\user.

Смежные вопросы