我需要能夠識別我的AD(Active Directory)域中的所有用戶。我有域名,就是這個。如果我可以將它作爲UserPrincipal的列表或其他東西,但如果它只是一個字符串,那麼我就可以得到我需要的信息的其餘部分。獲取來自AD域的所有用戶
謝謝!
我需要能夠識別我的AD(Active Directory)域中的所有用戶。我有域名,就是這個。如果我可以將它作爲UserPrincipal的列表或其他東西,但如果它只是一個字符串,那麼我就可以得到我需要的信息的其餘部分。獲取來自AD域的所有用戶
謝謝!
如果你只是要得到用戶列表,你可以使用此代碼 -
var dirEntry = new DirectoryEntry(string.Format("LDAP://{0}/{1}", "x.y.com", "DC=x,DC=y,DC=com"));
var searcher = new DirectorySearcher(dirEntry)
{
Filter = "(&(&(objectClass=user)(objectClass=person)))"
};
var resultCollection = searcher.FindAll();
但是,如果您需要使用AD進行更多操作,則應考慮使用LINQ至AD API http://linqtoad.codeplex.com/
這是一個基於Linq的API與AD一起工作。易於使用,我有一些好的結果。
+1這看起來像一個很好的資源! – 2010-09-09 06:37:11
這是,只是無法找到我需要的東西。可能是我的組織有過真正垃圾廣告實現的錯誤 – TerrorAustralis 2010-09-09 06:56:04
我認爲你可以使用類似的東西:
DirectoryEntry domain = new DirectoryEntry("LDAP://domain.com/CN=Users,DC=Domain,DC=com");
foreach (DirectoryEntry child in domain.Children)
{
// code
}
hey mate,我該如何指定我希望對象類不是計算機在該過濾器中?我的組織很愚蠢 – TerrorAustralis 2010-09-09 07:03:02
NVM,找到了語法! – TerrorAustralis 2010-09-09 07:08:06