Bonjour,
J'aimerais faire un script qui me permettrais de lister tous les comptes de mon AD qui sont désactivés. Pour ce faire j'ai commencer a faire ce code.
Mais j'ai une erreur que je ne m'explique pas.
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
Function CreateAfile(resumeFile)
   Dim fso, MyFile 'fso pour File System Object
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set MyFile = fso.CreateTextFile(resumeFile, True)
End Function
 
Function WriteText(MyFichier,myText)
   Const ForReading = 1, ForWriting = 2, ForAppending = 8
   Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
   Dim fso, f, ts
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(MyFichier)
   Set ts = f.OpenAsTextStream(ForAppending, TristateUseDefault)
   ts.WriteLine myText
   ts.Close
End Function
 
dim recapfile
recapfile = "d:\Mes Documents\Reacp_user.txt"
CreateAfile(recapfile)
 
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 
 
	objCommand.CommandText = _
		"SELECT DistinguishedName, edsaAccountIsDisabled, modifyTimeStamp FROM 'LDAP://OU=monOU ,DC=monDC' WHERE objectCategory='user'"
	Set objRecordSet = objCommand.Execute
 
	Do Until objRecordSet.EOF
		if(objRecordSet.Fields("edsaAccountIsDisabled").Value = true) then 
			WriteText recapfile,(objRecordSet.Fields("DistinguishedName").Value & ";" & objRecordSet.Fields("edsaAccountIsDisabled").Value & ";" & "désactivé le " & ";" & objRecordSet.Fields("modifyTimeStamp").Value)
		end if
		objRecordSet.MoveNext
	Loop
voici l'erreur que j'ai en retour :
  • Ligne : 36
  • Caract. : 2
  • Erreur : Erreur non spécifiée
  • Code : 80004005
  • Source : Provider


Peut être que c'est toute la méthode qui n'est pas bonne. Je suis à l'écoute de vos propositions.
Merci par avance.