Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Пользователь в группе Active Directory / 4 сообщений из 4, страница 1 из 1
16.04.2014, 16:30
    #38616690
Qwe.Qwe1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователь в группе Active Directory
Хочу проверить, состоит ли пользователь (из-под которого запущен процесс) в группе Active Directory. На некоторых ПК код ниже работает, а на некоторых выдает исключение "unhandled exception Unknown error (0x80005000)" - почему это происходит?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public static bool IsUserMemberOf(string sGroupName)
{
    using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain))
    {
        using (GroupPrincipal groupPrincipal = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, sGroupName))
        {
            if (groupPrincipal != null)
            {
                using (UserPrincipal userPrincipal = UserPrincipal.Current)
                {
                    if (userPrincipal != null)
                    {
                        return userPrincipal.IsMemberOf(groupPrincipal);
                    }
                }
            }
        }
    }
    return false;
}
...
Рейтинг: 0 / 0
16.04.2014, 21:07
    #38616938
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователь в группе Active Directory
Qwe.Qwe1,

Ну что могу сказать. Исследуйте ситуацию.
Когда нет разумных причин приходится искать самые дикие.

Сначала посмотрите, всегда ли, как вы пишите, исключения происходят на определенных машинах.

Чем эти машины отличаются от тех, где все выполняется нормально? Версия оси, сервис-паки.

На какой строке вылетает исключение?

Замените Using в этой строке на блок try-catch. Возможно будет получена более подробная информация.
...
Рейтинг: 0 / 0
17.04.2014, 09:58
    #38617201
Qwe.Qwe1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователь в группе Active Directory
Вот на этой строке ошибка:
Код: c#
1.
return userPrincipal.IsMemberOf(groupPrincipal);



Unhandled Exception: System.DirectorySeruices.AccountManagement.PrincipalOperationException: Unknown error <0x80005000> -> System.Runtime.InteropSeruices.COMException: Unknown error <0x80005000>
...
Рейтинг: 0 / 0
17.04.2014, 10:03
    #38617203
Qwe.Qwe1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователь в группе Active Directory
На самом деле мне помог ответ во здесь:
http://stackoverflow.com/questions/4518472/userprincipal-getgroups-fails-with-unknown-error

Почему - не понятно, но заработало!
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Пользователь в группе Active Directory / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]