Option Explicit Dim MyDistinguishedName Dim objRootDSE, objItem, objConnection, objCommand, objRecordSet Dim strContainer, strname Dim intCounter Dim objFSO Dim objTextFile, CheminFichier, CheminScriptActuel, ScriptFileName, Position 'Déclaration des constantes Const ForReading = 1 Const ForWritting = 2 Const ForAppending = 8 strContainer = "" 'Si vous souhaitez vous connecter à une OU en particulié, indiquez la ici Const ADS_UF_ACCOUNTDISABLE = 2 Const ADS_SCOPE_SUBTREE = 2 CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1) ScriptFileName = wscript.scriptname Position = InstrRev(ScriptFileName,".") if (Position > 0) Then ScriptFileName = Left(ScriptFileName, Position - 1) CheminFichier = CheminScriptActuel & "\" & ScriptFileName & "_Resultat.txt" 'Déclaration du chemin et du nom du fichier Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextFile(CheminFichier, ForWritting, True) On Error Resume Next Set objRootDSE = GetObject("LDAP://rootDSE") If strContainer = "" Then Set objItem = GetObject("LDAP://" & objRootDSE.Get("defaultNamingContext")) Else Set objItem = GetObject("LDAP://" & strContainer & "," & _ objRootDSE.Get("defaultNamingContext")) End If On Error Goto 0 'strname = objItem.Get("name") 'WScript.Echo "name: " & strname MyDistinguishedName = objItem.Get("distinguishedName") 'Récupération du distinguishedName du domaine par défaut. Exemple DC=Cotonso,DC=Com 'WScript.Echo "distinguishedName: " & MyDistinguishedName Set objConnection = CreateObject("ADODB.Connection") objConnection.Open "Provider=ADsDSOObject;" Set objCommand = CreateObject("ADODB.Command") objCommand.ActiveConnection = objConnection 'objCommand.CommandText = ";(objectCategory=Computer);distinguishedName;subtree" objCommand.CommandText = ";(&(objectCategory=Computer)(operatingSystem=*server*));name,distinguishedName;subtree" objCommand.Properties("Page Size") = 10000 objCommand.Properties("Timeout") = 30 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE objCommand.Properties("Cache Results") = False Set objRecordSet = objCommand.Execute intCounter = 0 Do Until objRecordset.EOF 'WScript.echo objRecordset.Fields("distinguishedName") 'WScript.echo objRecordset.Fields("Name") objTextFile.WriteLine(objRecordset.Fields("Name")) objRecordset.MoveNext Loop objConnection.Close objTextFile.Close 'Fermeture du fichier Set objTextFile = Nothing Set objFSO = Nothing