Vous êtes ici : Accueil > Administration réseaux > Récupération de la liste des ordinateurs dans un domaine Active Directory

Récupération de la liste des ordinateurs dans un domaine Active Directory

J'ai eu besoin, il y a quelques temps de récupérer la liste des ordinateurs d'un domaine Active Directory. Pour éviter de les lister un par un, j'ai écrit un petit script VBS qui m'a permit de le faire en quelques secondes. Ce script permet donc de lister dans un fichiers texte tous les pcs du domaine Active Directory en excluant une OU (ici Ordinateurs supprimés) ce qui est pratique pour n'avoir que les pcs actifs du domaine. Je le met donc à disposition. Il n'est surement pas parfait donc si vous avez des remarques ou suggestions, n'hésitez pas à me le dire.

Pré-requis :

Ce script nécessite le fichier ldifde.exe (normalement présent sur les serveurs dans C:\Windows\System32)

'Listing PC AD by ced-info'

'A modifier avant utilisation :
'	- le chemin du ldif
'	- le nom du srv
'	- le chemin complet de l'OU à scanner
'	- le filtre
'	- le chemin du fichier txt qui récupère la liste des pcs

'Déclarations des variables
dim wshell, ldif, srv, OU, filtre, Computers
ldif = "computers.ldif"
Computers = "computers.txt"
srv = "SRV"
OU = "OU=Ordinateurs,DC=domain,DC=lan"
filtre = "CN=Computers,CN=Schema,CN=Configuration,DC=domain,DC=lan"

'On récupère le ldif de tout les pcs
set wshell=CreateObject("Wscript.Shell")
wshell.Run"ldifde -f " & ldif & " -s " & srv & " -d " & OU & " -p subtree -r (objectCategory=" & filtre & ")",0

'On attend 5s que le fichier soit généré en affichant un message d'attente
Set message = WScript.CreateObject("WScript.Shell")
message.Popup "Récupération de la liste des ordinateurs du domaine en cours ...",5,"..:: LISTING PC AD BY CED-INFO ::.."

'Lecture du fichier généré
'Déclarations des variables
Const Writing = 2
Dim file, f, SearchName, name, ComputersListe, OUNOK, ComputersNOK, DebutOU, FinOU, BaliseDebut, BaliseFin
OUNOK = "OU=Ordinateurs supprimés"
BaliseDebut = "CN="
BaliseFin = ",OU="
Set file = CreateObject("Scripting.FileSystemObject")
Set f = file.OpenTextFile(ldif, 1)
Set ComputersListe = file.OpenTextFile(Computers, Writing,true)

'On fait une boucle pour récuperer le nom des pcs
	Do While Not f.AtEndOfStream
		SearchName = f.ReadLine
		If left(SearchName, 2) = "dn" Then
			'On exclut les pcs de l'OU qu'on ne veut pas
			'InStr renvoi 0 si pas d'occurence trouvé sinon il renvoie sa position
			ComputersNOK = InStr(SearchName, OUNOK)
			If ComputersNOK = 0 Then
				'On récupère le nom des pcs dans le dn
				DebutOU =  InStr(1, SearchName, BaliseDebut)
				DebutOU = DebutOu + Len(BaliseDebut)
				FinOu = DebutOu
				FinOu = InStr(FinOu, SearchName, BaliseFin)
				SearchName = Mid(SearchName, DebutOu, FinOu - DebutOu)
				'On écrit le nom des pcs dans le fichiers txt
				ComputersListe.write(SearchName & vbCrlf)
			End if
		End If
	Loop
f.close

'On nettoie
file.DeleteFile(ldif)

'Fin de la création de la liste
message.Popup "La récupération de la liste des ordinateurs du domaine est terminée." & vbCrLf & "La liste des ordinateurs est consultable dans le fichier : " & Computers,20,"..:: LISTING PC AD BY CED-INFO ::.."
  • Pingback: SEOSolutionVIP Fiverr()

  • Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.

  • Pingback: canadian pharmacycanadian pharmacy()

  • I very delighted to find this internet site on bing, just what I was searching for as well saved to fav

  • I don’t commonly comment but I gotta tell thankyou for the post on this perfect one : D.

  • I like the efforts you have put in this, regards for all the great content.

  • Your article gave me a lot of inspiration, I hope you can explain your point of view in more detail, because I have some doubts, thank you.

  • Try to slowly read the articles on this website, don't just comment, I think the posts on this page are very helpful, because I understand the intent of the author of this article.

  • Great wordpress blog here.. It’s hard to find quality writing like yours these days. I really appreciate people like you! take care

  • I just like the helpful information you provide in your articles

  • Pingback: lampadari sospensione()