Дата  Запланированые курсы
13.12 DEV-C-МP2. Модульная программа «Объектно-ориентированное программирование. Язык С++»
16.12 Работа в MS Excel. Расширенные возможности
16.12 DEV-C200. Объектно-ориентированное программирование на языке С++. Базовый уровень
17.12 CORTEX-M-RTOS. Разработка управляющих программ для МК систем управления с использованием многозадачных ОС реального времени
18.12 Инструменты бизнес-анализа Microsoft Excel: PowerPivot, PowerView
23.12 Автоматизация работы в Excel с использованием VBA
20.01 DEV-SWT110. Введение в технологии разработки программного обеспечения: разработка требований и проектирование
20.01 DEV-C210. Объектно-ориентированное программирование на языке С++. Углубленное изучение
28.01 DEV-PY200. Объектно-ориентированное программирование на языке Python
30.01 Linux-LF. Расширенное администрирование ОС Linux (ПП+)
17.02 DEV-C220. Прикладное программирование с использованием стандартов С++11, 14, 17, 20. Базовый уровень
25.02 DEV-J200. Java EE. Разработка корпоративных приложений
03.03 DEV-PYWEB. Разработка WEB приложений на языке Python
27.03 DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень
30.03 DEV-J210. Java EE. Разработка web сервисов
06.04 DEV-PYQT. Разработка оконных приложений Python c использованием Qt
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

list users by group
de_gamer
#1 Оставлено : 30 июля 2007 г. 22:35:29(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 23.07.2007(UTC)
Сообщений: 6
Баллов: 18

хочется вывести список пользователей, входящих в группу.
Код:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\directory\LDAP")
Set colItems = objWMIService.ExecQuery("SELECT DS_sAMAccountName FROM ads_user where DC_memberOf='CN=group, CN=Users, DC=domain, DC=local'")
For Each objItem in colItems
wscript.echo objItem.DS_sAMAccountName
next

как поправить синтаксис?
Реклама
de_gamer
#2 Оставлено : 31 июля 2007 г. 16:08:30(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 23.07.2007(UTC)
Сообщений: 6
Баллов: 18

проблему решил, рабочий вариант:
Код:

On Error Resume Next
Set objGroup = GetObject _
("LDAP://cn=group,cn=Users,dc=domain,dc=local")
objGroup.GetInfo
arrMemberOf = objGroup.GetEx("member")
WScript.Echo "Members:"
For Each strMember in arrMemberOf
Set objUser = GetObject _
("LDAP://" & strMember)
WScript.Echo objUser.sAMAccountName
Next
Alexander.Kudakov
#3 Оставлено : 31 июля 2007 г. 16:12:23(UTC)
Ранг: Администратор

Группы: Администраторы, Модераторы, Зарегистрированные пользователи
Зарегистрирован: 15.12.2002(UTC)
Сообщений: 2,418
Баллов: 7,303
Откуда: Russia Санкт-Петербург

Поблагодарили: 4 раз в 4 постах
Использование WMI для работы с AD нецелесообразно.
ИМХО, Правильнее ADSI

интересующий вас сценарий тут
www.microsoft.com...ad/groups/adgpvb13.mspx

Код:

On Error Resume Next
Set objGroup = GetObject ("LDAP://cn=Scientists,ou=R&D,dc=NA,dc=fabrikam,dc=com")
objGroup.GetInfo
arrMemberOf = objGroup.GetEx("member")
WScript.Echo "Members:"
For Each strMember in arrMemberOf
WScript.echo strMember
Next


В Вашем примере вижу несколько проблемок

1. Вы что же собираетесь запускать этот сценарий непосредственно находясь за консолью контроллера домена? -->>strComputer = "."

2. DC_memberOf='CN=group, CN=Users, DC=domain, DC=local' Отличительное имя объекта (distinguished name)
должно быть записано _без_ пробелов между атрибутами именования, т.е.
DC_memberOf='CN=group,CN=Users,DC=domain,DC=local'

Масса готовых сценариев: Microsoft Technet Script Center www.microsoft.com...criptcenter/default.mspx
Alexander.Kudakov
#4 Оставлено : 31 июля 2007 г. 16:14:15(UTC)
Ранг: Администратор

Группы: Администраторы, Модераторы, Зарегистрированные пользователи
Зарегистрирован: 15.12.2002(UTC)
Сообщений: 2,418
Баллов: 7,303
Откуда: Russia Санкт-Петербург

Поблагодарили: 4 раз в 4 постах
обогнали меня пока писал ответ [:)]

вы уж только разберитесь что означает каждая строчка а те "тупо" заимствует готовый код....
de_gamer
#5 Оставлено : 2 августа 2007 г. 20:51:07(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 23.07.2007(UTC)
Сообщений: 6
Баллов: 18

Первый вариант получился в результате использования WMICodeCreator. Максимум, чего я смог с ним добиться - вывести список всех DS_sAMAccountName в домене. Как пользоваться DC_memberOf - я так и не понял. Отрабатывает (без where) скрипт и с ".", и с подставленным именем контроллера с любой машины в домене. А рабочий вариант как раз на Microsoft Technet Script Center и нашел, как возиться с WMICodeCreator надоело :)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.