Не удается получить одну конкретную группу пользователей в Active Directory с использованием PrincipalContext

Получение исключения

system.directoryservices.accountmanagement.principaloperationexception: такого объекта на сервере нет

Попытка получить всех членов группы. Получение исключения только для одной конкретной группы, возможность получить членов других групп с одинаковым кодом.

Я пытаюсь с помощью следующего кода

 public void GetADusers(string groupName, string domainName, string AdUser, string ADPassword, Hashtable SamName, Hashtable DisplayName, Hashtable POR, Hashtable Mail)
{
    try
    {
        string powergroup = System.Configuration.ConfigurationManager.AppSettings["PowerGroup"];
        string retrieveGroup = System.Configuration.ConfigurationManager.AppSettings["RetrieveGroup"];

        PrincipalContext ctx = new PrincipalContext(ContextType.Domain, domainName, AdUser, ADPassword);
        GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, groupName);

        if (grp != null)
        {
            foreach (Principal p in grp.GetMembers(false))
            {
                if (!SamName.Contains(p.SamAccountName))
                {
                    SamName.Add(p.SamAccountName, p.SamAccountName);
                    DisplayName.Add(p.SamAccountName, p.DisplayName);
                    Mail.Add(p.SamAccountName, p.UserPrincipalName);
                    POR.Add(p.SamAccountName, false);
                }

                if ((groupName == powergroup || groupName == retrieveGroup) && SamName.Contains(p.SamAccountName))
                    POR[p.SamAccountName] = true;
            }

            grp.Dispose();
            ctx.Dispose();
        }
    }
    catch (Exception ex)
    {
        log.Error("usersByFilter: ", ex);
        throw ex;
    }
}

Группа состоит из 600 участников, некоторые участники являются междоменными пользователями

0 ответов

Другие вопросы по тегам