[vbscript] Réplication contrôleurs de domaine

Résolu/Fermé
malhsi Messages postés 5 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 28 décembre 2009 - 10 déc. 2009 à 17:43
malhsi Messages postés 5 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 28 décembre 2009 - 28 déc. 2009 à 16:09
Bonjour,

J'ai 4 contrôleurs de domaine (Active Directory) et je souhaite pouvoir vérifier que la réplication des ordis que je viens de déclarer est faite (c'est à dire que le poste est bien présent sur chaque contrôleur de domaine).
Il me semble que c'est possible d'interroger un contrôleur de domaine en vbscript, mais comme je suis très loin d'être un pro en vbscript et que je ne connais rien à la gestion d'AD...

Merci d'avance pour votre aide.

3 réponses

Le concombre attardé
10 déc. 2009 à 19:39
Salut

Dans Hey, Scripting Guy!, pas mal de script orientés AD ont été publiés.
Il existe aussi le célébrissime scriptomatic dispo dans cette page ainsi que d'autres outils plus ou moins sympas.

Je te laisse fouiller
0
malhsi Messages postés 5 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 28 décembre 2009
10 déc. 2009 à 21:30
Salut,

Je te remercie pour ces liens.
Pas mal de trucs intéressants, le plus dur va être de faire le tri ! Mais ce sera l'occasion d'apprendre.
Je garde cette saine lecture pour demain et si je réussi (c'est pas gagné, mais j'essaierai), je mettrai le résultat ici.

Merci
0
malhsi Messages postés 5 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 28 décembre 2009
28 déc. 2009 à 16:09
Comme promis, le résultat de mes recherches. A mettre dans un fichier .hta.
Les lignes précédées de *** sont à adapter selon les cas :
<SCRIPT Language="VBScript">
    Const ADS_SCOPE_SUBTREE = 2
    Const ADS_SCOPE_ONELEVEL = 1
    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 

	Function SearchForComputers (serveur)
		strNames = strNames & "<span style='color:blue;'>" & serveur & "</span> : "
		objCommand.Properties("Searchscope") = ADS_SCOPE_ONELEVEL 
		objCommand.CommandText = _
***			"SELECT Name FROM 'LDAP://" & serveur & "/OU=Postes,DC=DOMAINEAD,DC=FR' WHERE objectCategory='computer' and Name = '" & MyComputer.value & "'"
		Set objRecordSet = objCommand.Execute
		If objRecordSet.RecordCount > 0 Then
			objRecordSet.MoveFirst
			Do Until objRecordSet.EOF
				strNames = strNames & "présent<BR>"
				objRecordSet.MoveNext
			Loop
		Else
			strNames = strNames & "<span style='color:red;'>Non trouvé</span><BR>"
		End If
		SearchForComputers = strNames
    End Function
	
	Sub SearchComputer
***		Reponse = SearchForComputers("DC00001")
***		Reponse = Reponse & SearchForComputers("DC00002")
***		Reponse = Reponse & SearchForComputers("DC00003")
***		Reponse = Reponse & SearchForComputers("DC00004")
		UserList.InnerHTML = Reponse
	End Sub
</SCRIPT>

<body>
    <input type="text"  name="MonPoste" value="" onClick="SearchComputer"><p>
	<input type="button" value="Chercher le poste" onClick="SearchComputer"><p>
    <div id="UserList"></div>
</body>


Il y a certainement des choses en trop et ce n'est peut-être pas très propre, mais c'est OK pour moi.
0