powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как узнать количество элементов?
10 сообщений из 10, страница 1 из 1
Как узнать количество элементов?
    #39599846
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, что количество будет известно уже во время выполнения цикла.
А можно ли до начала цикла узнать есть ли чилдрены?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
var rootEntry = new DirectoryEntry("WinNT:");

// Здесь узнать количество элементов в  rootEntry.Children ???


foreach (DirectoryEntry child in rootEntry.Children)
{
        DomainEntries.Add(new _DomainEntry(child.Name, child));
}
...
Рейтинг: 0 / 0
Как узнать количество элементов?
    #39599874
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ролг ХупинА можно ли до начала цикла узнать есть ли чилдрены?
Если достучался без отлупа по доступу - то есть.
...
Рейтинг: 0 / 0
Как узнать количество элементов?
    #39600186
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Ролг ХупинА можно ли до начала цикла узнать есть ли чилдрены?
Если достучался без отлупа по доступу - то есть.

Возможно... но что интересно - отлуп поймать не удается.

Я хотел по сути - понять, если доступа нет, тогда закрыть контролы на форме и не парить мозг.
Но эскцепшына нет, решил взять к-во чидренов.
Есть две воркстанции, на одной вырублен полностью SMB (из-за вирусофлии), на второй остался.
На второй всё ок, есть чилдрены. На первой никаких эскцепшынов, прохожу до цикла, и уже потом выясняется, что чилдренов нет.
...
Рейтинг: 0 / 0
Как узнать количество элементов?
    #39600436
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Это кусок рабочего кода. Здесь выводятся все члены группы "Администраторы". Наверное и в Вашем случае есть что-то подобное. Вы конкретно что из WinNT хотите получить?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public static List<string> GetLocalGroupMember(string IP, string admin)
        {
            List<string> ResultList = new List<string>();
            using (DirectoryEntry entry = new DirectoryEntry(string.Format(@"WinNT://{0}/{1}, group", IP, admin)))
            //Подключаемся
            {
                IEnumerable members = (IEnumerable)entry.Invoke("Members", null);
                // Вот тут можно проверить количество мемберов
                foreach (object member in members)
                {
                    using (DirectoryEntry memberEntry = new DirectoryEntry(member))
                    {
                        ResultList.Add(string.Format(@"{0}\{1}", memberEntry.Parent.Name, memberEntry.Name));
                    }
                }
            }
...
Рейтинг: 0 / 0
Как узнать количество элементов?
    #39600469
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Это кусок рабочего кода. Здесь выводятся все члены группы "Администраторы". Наверное и в Вашем случае есть что-то подобное. Вы конкретно что из WinNT хотите получить?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public static List<string> GetLocalGroupMember(string IP, string admin)
        {
            List<string> ResultList = new List<string>();
            using (DirectoryEntry entry = new DirectoryEntry(string.Format(@"WinNT://{0}/{1}, group", IP, admin)))
            //Подключаемся
            {
                IEnumerable members = (IEnumerable)entry.Invoke("Members", null);
                // Вот тут можно проверить количество мемберов
                foreach (object member in members)
                {
                    using (DirectoryEntry memberEntry = new DirectoryEntry(member))
                    {
                        ResultList.Add(string.Format(@"{0}\{1}", memberEntry.Parent.Name, memberEntry.Name));
                    }
                }
            }





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

Этот код работал до тех пор, пока не стали запрещать SMB в связи с вирусами.

Надо переписать, но для начала я хотел бы на первом же запросе (список доменов, как выше в мэсыдже) определить - если не работают эти запросы - недоступны, нет доменов и т.д., значит закрыть контролы.
И попал на то, что вот там, где у меня комментарий нельзя взять количество выбранных чилдренов, а есть они только когда начинается foreach
...
Рейтинг: 0 / 0
Как узнать количество элементов?
    #39600585
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ролг Хупин,


Ролг Хупин(список доменов, как выше в мэсыдже)

Что-то я не понял про домены. Откуда и как запрашиваете?
...
Рейтинг: 0 / 0
Как узнать количество элементов?
    #39600608
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
Может связано с тем что сетевые свойства доступны после запросов Next.
Count как бы отсутствует.
...
Рейтинг: 0 / 0
Как узнать количество элементов?
    #39600611
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтоб узнать, есть ли чилдрены, достаточно проверить есть ли хоть 1 элемент в перечислении, для этого есть LINQ метод Any()
...
Рейтинг: 0 / 0
Как узнать количество элементов?
    #39600710
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Ролг Хупин,


Ролг Хупин(список доменов, как выше в мэсыдже)

Что-то я не понял про домены. Откуда и как запрашиваете?

в первом мэсыджэ код, выбираются доступные приложению домены, дальше по ним можно (если можно) ходить и запрашивать группы, юзеров и т.д.
...
Рейтинг: 0 / 0
Как узнать количество элементов?
    #39600768
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ролг Хупинв первом мэсыджэ код, выбираются доступные приложению домены,
Никаких доменов там не выбирается. Там выбираются локальные группы, локальные пользователи и установленные сервисы
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как узнать количество элементов?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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