Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> логины юзеров указанной групп в актив директори 
:(
    Опции темы
Random13
Дата 16.7.2009, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 21.11.2007

Репутация: нет
Всего: нет



Можно ли средствами С#  из Active directory вытащить все logins юзеров указанной группы ?

Это сообщение отредактировал(а) Random13 - 16.7.2009, 13:29
PM MAIL   Вверх
Rififi
Дата 16.7.2009, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 5
Всего: 36



можно.
юзать классы  DirectoryEntry, DirectorySearcher etc
PM MAIL   Вверх
Random13
Дата 17.7.2009, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 21.11.2007

Репутация: нет
Всего: нет



Юзаю. Получается получить только имена юзеров, а нужно ники ((
PM MAIL   Вверх
mihryak
Дата 17.7.2009, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



entry.Properties["samAccountName"][0].ToString()

hint
когда я не знаю, как называется нужное мне св-во DirectoryEntry, я в окне Watch пишу
entry.Properties.Cast<object>().ToList() и просматриваю все имеющиеся

PM MAIL ICQ   Вверх
Rififi
Дата 17.7.2009, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 5
Всего: 36



Юзаю. Получается получить только имена юзеров, а нужно ники (( 
гоогле "active directory schema attributes" для списка аттрибутов
PM MAIL   Вверх
Random13
Дата 20.7.2009, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 21.11.2007

Репутация: нет
Всего: нет



В общем, ничего не нашел ни в гугле, нигде. Пишу так

Код


            string groupName = "nameGroup";
            ArrayList arrmember = new ArrayList();
            SearchResult result;
            DirectorySearcher search = new DirectorySearcher();
            search.Filter = String.Format("(cn={0})", groupName);
            search.PropertiesToLoad.Add("member");
            result = search.FindOne();
            if (result != null)
            {
                for (int counter = 0; counter < result.Properties["member"].Count; counter++)
                {
                    string user = (string)result.Properties["member"][counter];
                    arrmember.Add(user);
                }
            }



получаю имена юзеров группы, а не их логины. Как получить логины не знаю  smile 
PM MAIL   Вверх
mihryak
Дата 21.7.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



Цитата(mihryak @  17.7.2009,  13:39 Найти цитируемый пост)
entry.Properties["samAccountName"][0].ToString()

здесь имелось в виду, что тебе нужно получить не строковое имя пользователя, а соответствующую ему DirectoryEntry
в результате получается
Код

            string groupName = "Domain Admins";
            using (DirectorySearcher searcher = new DirectorySearcher(
                String.Format("(cn={0})", groupName), new[] { "member" }))
            using (DirectoryEntry groupEntry = searcher.FindOne().GetDirectoryEntry())
            {
                foreach (var member in groupEntry.Properties["member"])
                {
                    using (DirectoryEntry userEntry = new DirectoryEntry("LDAP://" + member))
                    {
                        Console.WriteLine(userEntry.Properties["samAccountName"][0]);
                    }
                }
            }


Это сообщение отредактировал(а) mihryak - 21.7.2009, 11:00
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0859 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.