我必须为我工作的公司中的每个用户修改活动目录中的属性。这是我用户获取所有用户的代码。
String domain = Properties.Settings.Default.ADConn;
String user = Properties.Settings.Default.ADAdmin;
String pass = Properties.Settings.Default.ADPass;
DirectoryEntry ADEntry = new DirectoryEntry(domain, user, pass);
DirectorySearcher ADSearcher = new DirectorySearcher(ADEntry);
ADSearcher.Filter = "(&(objectClass=user)(objectCategory=person))";
SearchResultCollection allResults = ADSearcher.FindAll();
foreach (SearchResult result in allResults)
{
DirectoryEntry deUser = result.GetDirectoryEntry();
//....Do stuff here
公司中有大量人员,因此要求我按字母顺序拆分用户并一次处理一大块用户。例如,更改用户[A-G],然后是[H-N],然后是[O-Z]的属性。如何修改我的过滤器以向用户提供X到Y?
编辑:我的最终结果是执行以下操作:
ADSearcher.Filter = "(&(objectClass=user)(objectCategory=person)(sAMAccountName>=X)(sAMAccountName<=Y))";
非常感谢你的帮助。
答案 0 :(得分:1)
之前我使用过OpenLDAP所以我对过滤器有点熟悉,我发现Search Filter Syntax document可能有所帮助。以下是我认为可能的结果:
(&(objectClass=user)(objectCategory=person)(cn>='a')(cn<='b'))
让我知道它是否有效。