[VBS]liste computers AD

tsotb Messages postés 19 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 22 juillet 2005 - 20 juil. 2005 à 13:16
tsotb Messages postés 19 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 22 juillet 2005 - 22 juil. 2005 à 07:53
salut!
pour analyser les pcs de mon réseau, j'utilise MBSA qui se base sur des fichiers contenant la liste des ordis. cette liste est générée par un script qui récupère tous les "computers" dans AD.
voici le script:
**********************
Set fsobj = CreateObject("Scripting.FileSystemObject")
Set tf = fsobj.CreateTextFile("C:\script\ADres.txt", True)'crée le fichier ADres


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.CommandText = _
"Select Name, Location from 'LDAP://DC=domaine1,DC=fr' " _
& "where objectClass='computer'"


objCommand.Properties("Page Size") = 1000
objCommand.Properties("Timeout") = 30
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Cache Results") = False
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
tf.Write (objRecordSet.Fields("Name").Value &Chr(13)& Chr(10))
'Wscript.Echo "Computer Name: " & objRecordSet.Fields("Name").Value
'Wscript.Echo "Location: " & objRecordSet.Fields("Location").Value
objRecordSet.MoveNext
Loop
tf.Close


*************
ce script fonctionne très bien depuis une machine du même domaine.
Or si je veux scanner AD d'un autre domaine, j'ai cette erreur :
"Le tableau n'existe pas"
pourtant si j'execute ce script sur un poste du domaine2 il n'y a pas d'erreur.
dois-je inclure uneauthentification?si oui cmt? merci

3 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 29
20 juil. 2005 à 15:31
Sans doute lié à un pb de roit entre domaine. Le compte utilisateur que tu emploie et déclaré dans domaine A n'a peut-être pas les droits de parcourir AD pour le domaine B. Il faut monter d'un cran et avoir un user avec des droits au niveau de la forêt ou monter des approbation interdomaine

Christophe R.
0
tsotb Messages postés 19 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 22 juillet 2005
20 juil. 2005 à 15:36
je pense qu'il est possible de s'authentifier en insérant le code correspondant et en y mettant 1 compte et 1 mot de passe valide pour l'autre domaine.
Mais je n'ai aucune idée de ce code...
0
tsotb Messages postés 19 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 22 juillet 2005
22 juil. 2005 à 07:53
j'ai trouvé ceci :

Dim strPath
Dim strUsername
Dim strPassword
Dim adsNamespaceLDAP
Dim adsMyObject
strPath = "[ldap://192.168.1.1/dc=domainname,dc=com LDAP://192.168.1.1/dc=domainname,dc=com]"
strUsername = "cn=Administrateur,cn=Users," & "dc=domainname,dc=com"
strPassword = "admin"
Set adsNamespaceLDAP = GetObject("LDAP:")
Set adsMyObject = adsNamespaceLDAP.OpenDSObject (strPath, strUsername, strPassword, 0)
je l'ai ajouté au début de l'autre code et bien sur modifié les param "user" et "password"
pourtant un msg me signale que le user ou le mdp est incorrect et je suis sur que non...

Help me please!
0