Script VBS pour récupérer les info sur les HDD d'une active directory
helios49
Messages postés6Date d'inscriptionmardi 3 février 2009StatutMembreDernière intervention 7 août 2016
-
4 févr. 2009 à 10:00
zangiefgold
Messages postés2Date d'inscriptionsamedi 7 février 2009StatutMembreDernière intervention 7 février 2009
-
7 févr. 2009 à 14:33
Salut ^^
J'ai ici un script qui me permet de récupérer les info des disques
durs des postes d'une active directory... J'exécute donc ce script sur
mon serveur de domaine afin de récupérer ces info dans un fichier
excel.
Mais j'ai quelques problèmes!
Mon scripts ne gère pas du tout les postes avec plusieurs disques
durs ou partitions... Je veux dire qu'il ne prend en compte qu'un seul
disque dur! Problème ^^
Et lorsque l'un de mes PC de l'active directory est déconnecté mon script plante...
Voici mon script, si quelqu'un pouvait y jeter un ti coup de n'oeil ça serait super ^^
Merci!
'----------------------------------------------------------------------------------------c
onnexion active directory
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCOmmand.ActiveConnection = objConnection
Set objRootDSE = GetObject("LDAP://rootDSE")
objCommand.CommandText = _
"Select Name from 'LDAP://" & objRootDSE.Get("defaultNamingContext") & "' " & "Where objectClass='computer'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
'---------------------------------------------------------------------------------------connexion au fichier excel
set oexapp = wscript.createobject("Excel.Application")
set owshshell = wscript.createobject("wscript.shell")
oexapp.visible = false
set oexwk = oexapp.workbooks.open("C:infopc.xls")
'---------------------------------------------------------------------------------------effacement des données
oexapp.worksheets(1).cells(2,2).value = "NOM DU PC"
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 4 févr. 2009 à 10:43
tes infos viennent de WMI, pas AD.
bref.
gaffe au theme, tu es en VBS, pas en .NET
concernant les postes possédant plusieurs disques, ton erreur est de réécrire toujours dans la même ligne (tu ecrases les infos des premiers disques)
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk Where DriveType = 3")
For Each objDisk in colDisks
intFreeSpace = objDisk.FreeSpace/1024^3
intTotalSpace = objDisk.Size/1024^3
pctFreeSpace = intFreeSpace / intTotalSpace
oexapp.worksheets(1).cells(x,5).value =objDisk.DeviceID
oexapp.worksheets(1).cells(x,6).value =intTotalSpace
oexapp.worksheets(1).cells(x,7).value =intFreeSpace
oexapp.worksheets(1).cells(x,8).value =pctFreeSpace
Next
helios49
Messages postés6Date d'inscriptionmardi 3 février 2009StatutMembreDernière intervention 7 août 2016 5 févr. 2009 à 16:23
arf désolé pour le thème je savais pas trop où poster tellement ya de thèmes ^^
merçi beaucoup pour ta solution!
J'ai trouvé une autre erreur, lorsque l'un de mes postes n'ai pas connecté, mon script me renvoit une erreur et n'arrive pas à poursuivre....
Je pense que l'erreur doit être en rapport avec ces lignes là....
'---------------------------------------------------------------------------------------si connexion échoué
if err.number <> 0 then
oexapp.worksheets(1).cells(x,2).Interior.ColorIndex = 46
oexapp.worksheets(1).cells(x,3).value ="Impossible de joindre l hote"
oexapp.worksheets(1).cells(x,4).value ="Impossible de joindre l hote"
oexapp.worksheets(1).cells(x,5).value ="Impossible de joindre l hote"
oexapp.worksheets(1).cells(x,6).value ="Impossible de joindre l hote"
oexapp.worksheets(1).cells(x,7).value ="Impossible de joindre l hote"
x=x+1
zangiefgold
Messages postés2Date d'inscriptionsamedi 7 février 2009StatutMembreDernière intervention 7 février 2009 7 févr. 2009 à 10:34
bonjours a tous
mon tuteur de stage ma demander de crée plusieurs script dont un comme celui la. comme je débute dans les script je me comprend pas " On Error Resume Next " comment sa marche.
serai t-il possible que l'un puis m'aider a corriger ce script.
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?