我需要獲得存儲在Active Directory的數據庫中的用戶的一些信息,我有一個簡單的函數來做到這一點:SQL CLR存儲過程來查詢Active Directory
using (DirectoryEntry de = new DirectoryEntry("LDAP://ANYGIVENDOMAIN"))
{
using (DirectorySearcher adSearch = new DirectorySearcher(de))
{
adSearch.Filter = "(sAMAccountName=jdoe)";
SearchResult adSearchResult = adSearch.FindOne();
StringBuilder sb = new StringBuilder();
sb.AppendLine(adSearchResult.Properties["displayname"][0].ToString());
sb.AppendLine(adSearchResult.Properties["givenName"][0].ToString());
sb.AppendLine(adSearchResult.Properties["objectSid"][0].ToString());
sb.AppendLine(adSearchResult.Properties["description"][0].ToString());
sb.AppendLine(adSearchResult.Properties["objectGUID"][0].ToString());
}
}
從正在運行WinForm按我的意願做,但在SQL Server項目類型中,我無法將名稱空間System.DirectoryServices添加到引用。
任何人都知道爲什麼?
問候
JE
正如旁白 - 如果我是你,我就一定要** **檢查是否一個給定的屬性存在或不; 'if(adSearchResult.Properties [「...」]!= null)....'否則,你肯定會早晚得到一些空指針異常.... – 2010-10-26 20:29:44