Salut,

j'essaie de faire un peu de ménage dans mon AD, alors je veux connaitre le contenu des groupes d'une OU, jusque la tout va bien, sauf que mon script ne me ressort que les groupes ayant UN SEUL utilisateur, et je ne comprend pas pourquoi.

Normalement, il devrait tous me les sortir, avec le nom du groupe, et les utilisateurs a coté, séparés par un ";".

Voila le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
on error resume next
 
dim objfichier, Myfile, Ouchoisi
 
const forReading = 1, ForWriting = 2, ForAppending = 8
 
'routine de connexion a l'AD
 
Const ADS_SCOPE_SUBTREE = 2
 
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
 
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
 
'choix du domaine a éxaminer
 
DomaineChoisi="XXX"			'inputbox ("veuillez Choisir le domaine que vous voulez inspecter","Choix du domaine")
 
DomaineChoisi2="local"		'inputbox ("veuillez Choisir la fin du nom de domaine que vous voulez inspecter","Choix du domaine")
 
OuChoisi=inputbox ("veuillez Choisir l'Unité d'organisation que vous voulez inspecter","Choix de l'OU")
 
'sélection de l'OU dans le domaine
 
objCommand.CommandText = _
    "SELECT AdsPath FROM 'LDAP://OU="& OuChoisi &", dc="& DomaineChoisi &", dc="& DomaineChoisi2 &"' WHERE objectCategory='group'"
Set objRecordSet = objCommand.Execute
 
'création du fichier texte
 
set objfichier = createobject("scripting.filesystemobject")
 
NomFichier="test.txt"            '   inputbox ("Veuillez entrez le nom de fichier","Nom du Fichier")
 
set Myfile = objfichier.opentextfile(NomFichier, ForWriting, true)
 
'boucle qui vérifie les groupes 1 par 1
 
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    Set objUser = GetObject(objRecordSet.Fields("AdsPath").Value)
 
	If objUser.member <> "" then
 
		Myfile.Writeline objUser.sAMAccountName & ";" & objUser.member & ";"
	End if
 
    objRecordSet.MoveNext
 
Loop
 
'message de fin d'éxecution du script
 
MsgBox "votre recherche dans l'AD est terminée", vbExclamation, "Avertissement"
J'ai essayé de modifier les valeurs sur lesquels je filtre... et pas mal d'autre trucs, et j'ai toujours seulement les groupes avec un utilisateur.

Si quelqu'un sait d'ou ca pourrais venir ce serait sympa de m'aider

merci