imho.ws |
|
11.07.2006, 11:28 | # 1 |
Banned
Регистрация: 19.05.2006
Сообщения: 19
|
Список пользователей и групп AD
Имеется контролер домена (Win2000)...
Подскажите, пожалуйста, как мне можно получить автоматически список пользователей с группами, в которые они входят. Или наоборот -- список групп с соответствующими им пользователями. |
11.07.2006, 12:30 | # 2 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 405
|
Можно написать скрипт на WSH (VBS или JS), который выгрузит требуемый список хоть в текстовый файл, хоть в Word, хоть в Excel.
Примеры таких скриптов можно взять здесь Руководство пользователя (и многое другое) по WSH - здесь.
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
12.07.2006, 16:14 | # 4 |
::VIP::
Регистрация: 14.05.2005
Сообщения: 939
|
VictorLM
Код:
On Error Resume Next Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D Set objOU = GetObject _ ("LDAP://cn=Users,dc=NA,dc=fabrikam,dc=com") ObjOU.Filter= Array("user") For Each objUser in objOU WScript.Echo objUser.cn & " is a member of: " WScript.Echo vbTab & "Primary Group ID: " & objUser.Get("primaryGroupID") arrMemberOf = objUser.GetEx("memberOf") If Err.Number <> E_ADS_PROPERTY_NOT_FOUND Then For Each Group in arrMemberOf WScript.Echo vbTab & Group Next Else WScript.Echo vbTab & "memberOf attribute is not set" Err.Clear End If Wscript.Echo Next
__________________
"Поживем - увидим" - сказал слепой, больной СПИДом... Телепаты в отпуске. Все поголовно. Навсегда. И кому я что должен - всем простил. Последний раз редактировалось KomatoZo; 12.07.2006 в 16:19. |
13.07.2006, 09:09 | # 6 |
::VIP::
Регистрация: 14.05.2005
Сообщения: 939
|
Так... Смотри. Допустим, у тебя юзеры находятся в контейнере Users, как здесь, домен name.ru. Эта строчка тогда должна выглядеть так:
("LDAP://cn=Users,dc=name,dc=ru") Суть понятна? Вот соответственно этому и меняешь. Если домен name1.name2.name3.local, то соответственно dc=name1,dc=name2,dc=name3,dc=local И так далее.
__________________
"Поживем - увидим" - сказал слепой, больной СПИДом... Телепаты в отпуске. Все поголовно. Навсегда. И кому я что должен - всем простил. |
13.07.2006, 11:25 | # 8 |
::VIP::
Регистрация: 14.05.2005
Сообщения: 939
|
Хых.... Ну до чего же трудно, наверное пойти в скриптцентр и скомбинировать два примера.... =))))
Я же последний раз программы писал еще на C на x386 =) Сейчас нарою. Значит так: 1) создаем файл Код:
Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.CreateTextFile("C:\FSO\ScriptLog.txt") Код:
Sub OpenTextFileTest Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True) f.Write "Hello world!" f.Close End Sub Кстати, если разделять поля в файле запятыми, то получится csv. А его то уж засунуть в excel нетрудно. Для засовывания в excel напрямую нужно просто другой объект создавать. Мне искать лениво, так что сам. А общий принцип тот же.
__________________
"Поживем - увидим" - сказал слепой, больной СПИДом... Телепаты в отпуске. Все поголовно. Навсегда. И кому я что должен - всем простил. |
13.07.2006, 11:53 | # 9 | ||
Migel Mod Volos
Регистрация: 09.09.2003
Адрес: МПЛ-в почетной д
Сообщения: 7 486
|
Цитата:
Цитата:
__________________
Все "спасибы" - в приват и в репутацию! не засоряйте форум!!!! © Plague Небьющаяся игрушка - это игрушка, которой ребенок может разбить все свои остальные игрушки. |
||
Теги (метки) |
wsh |
|
|