2010-03-23 12 views

Odpowiedz

-1

można dostać ten stosując metodę LookupAccountSid() wołać do Win32. Jest pewien przykładowy kod na stronie, do której mam link, który pokazuje prosty przykład.

6

Jeśli korzystasz z .NET 3.5, sprawdź ten znakomity artykuł MSDN Managing Directory Security Principals in the .NET Framework 3.5.

Pokazuje nowe możliwości wyszukiwania rozszerzonego w przestrzeni nazw .NET 3.5 System.DirectoryServices.AccountManagement.

Jedną z ciekawych funkcji jest metoda FindByIdentity, która umożliwia znalezienie użytkownika (lub grupy) na podstawie tożsamości - bez względu na to, czy jest to główna nazwa użytkownika, nazwa wyróżniająca, identyfikator GUID czy identyfikator SID - po prostu zadziała. :

UserPrincipal user = 
    UserPrincipal.FindByIdentity(principalContext, 
           IdentityType.Sid, (value)); 

Musisz upewnić się, że identyfikator SID jest prawidłowy - więcej informacji znajdziesz w dokumentacji MSDN.

Gdy masz główny obiekt użytkownika, po prostu swoje główne Nick:

if(user != null) 
{ 
    string upn = user.UserPrincipalName; 
} 

Przykładowy kod artykułu ma nawet dwa dodatkowe metody pomocnika FindByIdentityGuid i FindByIdentitySid aby osiągnąć dokładnie to, czego szukasz !

Sprawdź to i wykorzystaj.

+0

Niestety utknąłem na .Net 2.0, ale dobrze jest wiedzieć, że istnieje po aktualizacji. Dzięki –

Powiązane problemy