Здравствуйте, мне нужно проверить, является ли 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-from-net – Koryu
Например, в группе вызывается 100 пользователей в AD. И через месяц в группе AD есть 110 пользователей. К последнему я имею в виду 100-го или 110-го пользователя. Последний пользователь группы. Последний, на который нацеливает foreach. –
, чтобы вы могли вызвать 'last()' для 'users'. Я отправлю пример – Koryu