【发布时间】:2010-06-08 15:43:38
【问题描述】:
我正在尝试使用以下代码从 AD 组中删除所有用户:
private void RemoveStudents() {
foreach (DirectoryEntry childDir in rootRefreshDir.Children) {
DirectoryEntry groupDE = new DirectoryEntry(childDir.Path);
for (int counter = 0; counter < groupDE.Properties["member"].Count; counter++) {
groupDE.Properties["member"].Remove(groupDE.Properties["member"][counter]);
groupDE.CommitChanges();
groupDE.Close();
}
}
}
rootRefreshDir 是包含所有 AD 组 (childDir) 的目录。
我在这里发现的是这段代码的行为不正确。它会删除用户,但在第一次运行后不会这样做。它确实“一些”。然后我一次又一次地运行它 - 取决于需要在组中删除多少用户。我不确定它为什么会这样运行。
有人可以帮助修复此代码或提供一种替代方法来删除组中的所有用户吗?
【问题讨论】:
-
你的代码语法没问题。遵循 SLaks 的建议,您应该会达到您想要的结果。
标签: c# .net active-directory