2010-05-11 13 views

Odpowiedz

6

Jeszcze prościej - stosowanie nowych .NET 3.5 System.DirectoryServices.AccountManagement możliwości.

Aby uzyskać szczegółowe informacje, zapoznaj się z artykułem MSDN o numerze Managing Directory Security Principals in the .NET Framework 3.5.

PrincipalContext ctx = new PrincipalContext(ContextType.Domain. "YOURDOMAIN"); 

UserPrincipal user = UserPrincipal.FindByIdentity(ctx, loginName); 

if(user != null) 
{ 
    string empID = user.EmployeeId; 
} 

Nowe, mocno wpisane klasy główne sprawiają, że praca z AD jest bardzo prosta.

+0

Tak, to jest prostsze. Zauważ, że to UserPrincipal.EmployeeId nie ... ID Dzięki – Graeme

+1

Dzięki Marc, szukałem sposobu, aby uzyskać Głównego użytkownika z Windows Identity. Tutaj zdałem sobie sprawę, że jeśli mam domenę, mogę to zrobić, nie mając nic wspólnego z obiektem Windows Identity. – Veverke

-1

Używane AD zapytanie - bardzo proste:

DirectorySearcher ds = new DirectorySearcher(); 
ds.PropertiesToLoad.Add("employeeID"); 
ds.Filter = String.Format("(&(objectCategory=person)(sAMAccountName={0}))", loginName); 

result = ds.FindOne(); 
if (result != null) 
{ 
    personnelNumber = result.Properties["employeeID"][0].ToString(); 
} 
+0

Skąd pochodzi wynik? "result = ds.FindOne();" –

Powiązane problemy