您好,我需要检查一个DirectoryEntry
是否是AD中的最后一个组。我不知道为什么,但我的老板说他想要一个Messagebox。下面的方法只是我大项目的一小部分。它能做什么?我在AD获得一个组的所有用户。每个用户都保存在DirectoryEntry
中。然后我打电话给其他的东西。这对这个问题无关紧要,请参阅“如果是德,请做些什么”。检查一个DirectoryEntry是否是Active Directory中组的最后一个C#
我不知道如何获得最后一个元素这就是为什么我把这个:
var lastelement = users.LastElement;
的方法。
private void Abgleich()
{
log.Debug("Abgleich in ActivDirectory aufgerufen");
using (var context = new PrincipalContext(ContextType.Domain, Properties.Settings.Default.Servername, Properties.Settings.Default.Container))
{
using (var group = GroupPrincipal.FindByIdentity(context, Properties.Settings.Default.ECADGruppe))
{
if (group == null)
{
log.Error("Group does not exist");
}
else
{
var users = group.GetMembers(true);
//Pseudo Code
var lastelement = users.LastElement;
//End Pseudo Code
foreach (UserPrincipal user in users)
{
DirectoryEntry de = (user.GetUnderlyingObject() as DirectoryEntry);
// Do Stuff if de
if (de == lastelement)
{
XtraMessageBox.Show("This is the last", "Remember", MessageBoxButtons.YesNo, MessageBoxIcon.Info);
}
}
}
}
}
}
弗洛里安嗨,你是什么意思与“是以lastElement“?它是最新创建的条目吗?如果它的目录项的特定属性,再看看在这个问题的答案:http://stackoverflow.com/questions/2228468/how-to-retrieve-the-creation-date-of-an-ad -user-从网 – Koryu
对于在组实施例是在主叫用户100在AD的时刻。一个月后,AD组中有110个用户。最后,我是指第100位或第110位用户。该组的最后一个用户。最后一个foreach正在进行。 –
所以你可以调用'最后()''为users'。我将发布一个例子 – Koryu