Active directory : liste les pc du réseau

Soyez le premier à donner votre avis sur cette source.

Vue 14 604 fois - Téléchargée 1 056 fois

Description

Ce script tout simple se connecte à l'AD, liste les pc du réseau et écrit en sortie un fichier txt que vous pouvez importer dans toute autre application.

Bien que très simple et peut-être désuet comparé à du VB.NET, il reste toutefois très pratique et rapide.

Source / Exemple :


Dim args, oWinNT, oDomain
Dim Name
Set Shell = WScript.CreateObject("WScript.Shell")
domain="votre_domaine"
set oWinNT=GetObject("WinNT://" & domain)

Const ForReading = 1, ForWriting = 2
  Set WshShell = WScript.CreateObject("WScript.Shell")
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
	objOutFile = "C:\temp\ADListPC.txt"
   	Set f = fso.OpenTextFile(objOutFile, ForWriting,true)
	for each oDomain in oWinNT
		if  lcase(oDomain.class)="computer" then
			Name = oDomain.name
			if lcase(Mid(Name, 1,3))="lap" or lcase(Mid(Name, 1,3))="pos" then
				f.writeline(Name)
			end if
		end if
	next

'--------------------------------------------------------------------
' Sous programme de test du moteur
' Vu les sorties générées, c'est CSCRIPT (et non pas WSCRIPT)
' qui doit être utilisé
Sub TestHost
dim rep
SW_SHOWNORMAL=1 
strFullName =lcase(WScript.FullName)
strappli=lcase(Wscript.ScriptFullName)
i=InStr(1,strFullName,".exe",1)
j=InStrRev(strFullName,"\",i,1)
strCommand=Mid(strFullName,j+1,i-j-1)
if strCommand<>"cscript" then
	rep=MsgBox("Ce script doit être lancé avec CSCRIPT" & VBCRLF & _ 
               "Cela peut être rendu permanent avec la commande" & VBCRLF & _
			   "cscript //H:CScript //S /Nologo" & VBCRLF & _
			   "Voulez-vous que ce soit fait automatiquement?", _
			   vbYesNo + vbQuestion,strappli)
	if rep=vbYes  then 
		nomcmd="setscript.bat"
		Set ficcmd = fso.CreateTextFile(nomcmd)
		ficcmd.writeline "@echo off"
		ficcmd.writeline "cscript //H:CScript //S /Nologo"
		ficcmd.writeline "pause"
		ficcmd.writeline chr(34) & strappli & chr(34) 
		ficcmd.writeline "pause"
		ficcmd.close
		shell.Run nomcmd, SW_SHOWNORMAL,true
		end if
    WScript.Quit
	end if
end sub
'--------------------------------------------------------------------

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

slim_shady56
Messages postés
2
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
23 mai 2008
-
coucou ton script m'intéresse beaucoup, le seul problème que je voy est que si l'AD est protégé par un nom d'ulisateur et un mot de passe on ne peut pas se connecter car dans ton code on ne peut renseigner que le nom de domaine :/
cs_baloc
Messages postés
56
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
29 octobre 2010
-
bonjour, petite macro très pratique. J'aimerais savoir si c'est possible de filtrer les ordinateurs par os?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.