none
Список пользователей AD из под админа и юзера (разное кол-во) RRS feed

  • Общие обсуждения

  • Всем добрый день!

     

    Стоит задача получить список пользователей с сервера (домен, AD).

     

    Пробовал разными способами (NetUserEnum, NetQueryDisplayInformation, скрипт VBS) - результат один и тот же:

     

    Если запускаю из под админов (любых, хоть локальных) получаю 86 записей, реально существующих.

    Если из под простого пользователя - 20!

     

    Думал сначала, что что-то неправильно реализовал в ПО, вызывая данные функции. Попробовал просто скрипт - результат тотже!!! Сервер SBS2003. Сравнивал параметры учетных записей тех, кого получаю и тех, кого не получаю. Разницы не вижу, никаких закономерностей установить не могу. Прихожу к выводу, что дело не в ПО и функциях получения, а в сервере.

     

    Пример скрипта, с помощью которого получаю кол-во пользователей:

    Code Snippet
    Set con = GetObject("WinNT://server")
    con.Filter = Array("user")
    Count=0
    For Each item In con
        Count = Count + 1
    Next
    WScript.Echo Count

     

     

    Заранее благодарю за любые подсказки/наводки.

    Спасибо.

    16 января 2009 г. 14:19

Все ответы

  •  Alex Shulg написано:

    Всем добрый день!

     

    Стоит задача получить список пользователей с сервера (домен, AD).

     

    Пробовал разными способами (NetUserEnum, NetQueryDisplayInformation, скрипт VBS) - результат один и тот же:

     

    Если запускаю из под админов (любых, хоть локальных) получаю 86 записей, реально существующих.

    Если из под простого пользователя - 20!

     

    Думал сначала, что что-то неправильно реализовал в ПО, вызывая данные функции. Попробовал просто скрипт - результат тотже!!! Сервер SBS2003. Сравнивал параметры учетных записей тех, кого получаю и тех, кого не получаю. Разницы не вижу, никаких закономерностей установить не могу. Прихожу к выводу, что дело не в ПО и функциях получения, а в сервере.

     

    Пример скрипта, с помощью которого получаю кол-во пользователей:

    Code Snippet
    Set con = GetObject("WinNT://server")
    con.Filter = Array("user")
    Count=0
    For Each item In con
        Count = Count + 1
    Next
    WScript.Echo Count

     

     

    Заранее благодарю за любые подсказки/наводки.

    Спасибо.



    А если выполнить команду вида

    dsquery user cn=users,dc=cp,dc=com

    ?
    16 января 2009 г. 14:26
  • попробовал на сервере запустить "dsquery user"

    получил всех пользователей

    16 января 2009 г. 15:00
  •  Alex Shulg написано:

    попробовал на сервере запустить "dsquery user"

    получил всех пользователей



    Попробуйте воспользоваться этим скриптом
    16 января 2009 г. 15:06
  • Простите, но я не увидел разницы между моим и рекомендуемым скриптом. Разница лишь в том, что я считаю кол-во пользователей в цикле, а в указанном Вами инфа отображается в виде сообщений. Механизм тот же самый.

     

    16 января 2009 г. 16:09