2010-05-11 15 views

risposta

6

Ancora più facile - utilizzare i nuovi .NET 3.5 System.DirectoryServices.AccountManagement caratteristiche.

Vedere l'articolo MSDN Managing Directory Security Principals in the .NET Framework 3.5 per i dettagli.

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

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

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

Le nuove classi principali fortemente tipizzate rendono più semplice lavorare con AD.

+0

Sì, è più semplice. Notare che è UserPrincipal.EmployeeId non ... ID Grazie – Graeme

+1

Grazie Marc, stavo cercando come ottenere un utente principale da un'identità Windows. Qui ho capito che se ho il dominio posso farlo, senza nulla da fare al mio oggetto Windows Identity. – Veverke

-1

query ad Usato - molto semplice:

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

Da dove viene il risultato? "risultato = ds.FindOne();" –

Problemi correlati