none
WMI и AD RRS feed

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

  • с помощтб WMI запроса нужно достучаться до полей компьютера, чтобы считать данные.  интересует поле Описание - это обязат, ну и другие через классы WMI.  У юзера тоже есть поле Описание, как его считать через WMI, какой класс нужен? ещё вкладка Редактор атрибутов, с большим количеством атрибутов с данными. как к ним достучаться, какие классы для этого используются (хоть несколько)??
    12 января 2020 г. 17:42

Все ответы

  • Добрый день,

    просто добавляете ds_ к названию поля. Т.е. Описание (Description) будет ds_description

    Подробнее можно посмотреть здесь

    13 января 2020 г. 7:38
  • не сработало. выдаёт ошибку.

    то есть мне нужно выбрать готовый класс и параметр или сразу правильный запрос написать. Но не знаю, какой класс, по названию с сочетанием AD ничё не нашёл. Win32_Fan, Win32_DiskDrive, Win32 ...  и их около 100.


    • Изменено serg_23 15 января 2020 г. 18:08
    15 января 2020 г. 17:45
  • Класс - ads_user, определен в пространстве имен \root\directory\LDAP

    Слава России!


    • Изменено M.V.V. _ 15 января 2020 г. 18:22
    15 января 2020 г. 18:17
  • вот так ошибка:

    мне вообще надо поле description из компьютеров , но можно и из пользователя. 

    select ds_description from '\root\directory\LDAP'  или  select * from ads_user  тоже не срабатывает. что я не так делаю?

    я подозреваю, что нельзя в BgInfo указать и использовать пространство имён \root\directory\LDAP, а можно только тот, что прописан - Wn32.

    в проге WMI Creator в качестве пробы выбрал нужные классы, сгенерировался автоматом код и получил результат - работает. этот код вставил в файл 111.vbs, выбрал его в BgInfo и - пусто.. как-будто не понимает , не видит этот скрипт:

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\directory\LDAP")
    Set colItems = objWMIService.ExecQuery( _
        "SELECT ds_cn FROM ds_computer",,48)
    For Each objItem in colItems
        Wscript.Echo "-----------------------------------"
        Wscript.Echo "ds_computer instance"
        Wscript.Echo "-----------------------------------"
        Wscript.Echo "DS_cn: " & objItem.DS_cn
    Next

    задача такова: с помощью BgInfo вычитать любое пустое поле пользователя или компьютера ActiveDirectory.

    • Изменено serg_23 16 января 2020 г. 9:00
    16 января 2020 г. 6:17
  • Класс - ads_user, определен в пространстве имен \root\directory\LDAP

    Слава России!


    если вас работает, можете результат показать?
    21 января 2020 г. 7:10
  • с помощью именно BgInfo можно достучаться до любого класса AD ??  я вижу только 1 класс относительно ОС.
    29 января 2020 г. 5:53
  • там только пытаются, но тоже не получается. я попробовал, мне выдаёт постоянно одно тоже непонятное значение. кто-то получал значение поля Description с помощью VBS ??
    31 марта 2020 г. 13:27
  • подскажите, плз, что и куда в этом коде надо вставить, чтобы выборка была только по конкретному домену и OU: OU=Users,DC=dc8,DC=ddbb,DC=ru ??

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\directory\LDAP")
    Set colItems = objWMIService.ExecQuery( _
        "SELECT ds_cn FROM ds_computer",,48)
    For Each objItem in colItems
        Wscript.Echo "-----------------------------------"
        Wscript.Echo "ds_computer instance"
        Wscript.Echo "-----------------------------------"
        Wscript.Echo "DS_cn: " & objItem.DS_cn
    Next

    если во второй строке добавить

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\directory\LDAP" & "OU=Users,DC=dc8,DC=ddbb,DC=ru")

    то будет ошибка.

    и что такое 48  в    "SELECT ds_cn FROM ds_computer",,48   ?? 

    • Изменено serg_23 31 марта 2020 г. 14:36
    31 марта 2020 г. 13:56