2010-05-11 43 views

回答

6

甚至更​​容易 - 使用新的.NET 3.5 System.DirectoryServices.AccountManagement功能。

有關詳細信息,請參閱MSDN文章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; 
} 

新的強類型主類使與AD一起工作變得輕而易舉。

+0

是的,這很簡單。請注意它是UserPrincipal.EmployeeId 不是... ID 謝謝 – Graeme 2010-05-18 12:30:30

+1

謝謝馬克,我正在尋找如何獲得用戶主體的Windows身份。在這裏我意識到,如果我有域名,我可以做到這一點,而無需對我的Windows Identity對象做任何事情。 – Veverke 2015-09-20 14:41:22

-1

二手AD查詢 - 很簡單:

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

結果從哪裏來? 「result = ds.FindOne();」 – 2013-07-23 12:12:59

相關問題