| imho.ws | 
![]()  | 
	
		 
 
 | 
| 
			
			 | 
		# 1 | 
| 
			
			 Banned 
			
			
			
				
			
			Регистрация: 19.05.2006 
				
				
				
				
					Сообщения: 19
				 
				
				![]()  | 
	
	
	
		
		
			
			 
				
				Список пользователей и групп AD
			 
			
			
			Имеется контролер домена (Win2000)... 
		
		
		
		
		
		
		
	Подскажите, пожалуйста, как мне можно получить автоматически список пользователей с группами, в которые они входят. Или наоборот -- список групп с соответствующими им пользователями.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 2 | 
| 
			
			 СуперМод 
			
			
			
				
			
			IMHO Консультант 2005-2009 Регистрация: 14.08.2002 
				Адрес: Московская ПЛ, ракетный отс 
				
				Пол: Male
				
					Сообщения: 14 519
				 
				
				![]()  | 
	
	
	
		
		
		
		 
			
			Можно написать скрипт на WSH (VBS или JS), который выгрузит требуемый список хоть в текстовый файл, хоть в Word, хоть в Excel. 
		
		
		
		
		
		
			Примеры таких скриптов можно взять здесь Руководство пользователя (и многое другое) по WSH - здесь. 
				__________________ 
		
		
		
		
	Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий  | 
| 
		 | 
	
	
| 
			
			 | 
		# 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 в 17:19.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 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 И так далее. 
				__________________ 
		
		
		
		
	"Поживем - увидим" - сказал слепой, больной СПИДом... Телепаты в отпуске. Все поголовно. Навсегда. И кому я что должен - всем простил.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 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 напрямую нужно просто другой объект создавать. Мне искать лениво, так что сам. А общий принцип тот же. 
				__________________ 
		
		
		
		
	"Поживем - увидим" - сказал слепой, больной СПИДом... Телепаты в отпуске. Все поголовно. Навсегда. И кому я что должен - всем простил.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 9 | ||
| 
			
			 Migel Mod Volos 
			
			
			
				
			
			Регистрация: 09.09.2003 
				Адрес: МПЛ-в почетной д 
				
				
				
					Сообщения: 7 486
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
		
		 Цитата: 
	
 Цитата: 
	
 
				__________________ 
		
		
		
		
	Все "спасибы" - в приват и в репутацию! не засоряйте форум!!!! © Plague Небьющаяся игрушка - это игрушка, которой ребенок может разбить все свои остальные игрушки.  | 
||
| 
		 | 
	
	
| Теги (метки) | 
| wsh | 
		
  | 
	
		
  |