[SCRIPT WMI] Problème de permissions...

zell45 Messages postés 3 Date d'inscription mardi 4 avril 2006 Statut Membre Dernière intervention 11 avril 2006 - 5 avril 2006 à 15:50
zell45 Messages postés 3 Date d'inscription mardi 4 avril 2006 Statut Membre Dernière intervention 11 avril 2006 - 11 avril 2006 à 08:21
Bonjour!
J'ai vraiment besoin de votre aide là
Voilà mon script :
arrComputers = Array(".")
For Each strComputer In arrComputers


   WScript.Echo
   WScript.Echo "=========================================="
   WScript.Echo "Nom de la machine :" & strComputer
   WScript.Echo "=========================================="


Wscript.Echo "-------------------------------------------"
Wscript.Echo "||INFORMATIONS SUR LA MACHINE||"
Wscript.Echo "-------------------------------------------"
'==SYSTEME D'EXPLOITATION==
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48)
For Each objItem in colItems
Wscript.Echo "Système d'exploitation installé :" & objItem.Caption
Next


'==ADRESSE MAC==
Set objWMIService = GetObject( "winmgmts:\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration" & " where IPEnabled=TRUE")
For  Each objItem in colItems
Wscript.Echo  "Adresse MAC :" & objItem.MACAddress
Next


'==RAM TOTALE SUR LA MACHINE==
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings 
    Wscript.Echo "RAM installée :" & objComputer.TotalPhysicalMemory & " Octets"
Next


'==RAM DISPONIBLE==
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colSettings 
    Wscript.Echo "Mémoire RAM disponiblen :" & objOperatingSystem.FreePhysicalMemory & " Ko"
Next
Wscript.Echo ""


'==LECTEURS (CD/DVD) PRESENTS SUR LA MACHINE==
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_CDROMDrive")
For Each objItem in colItems
    Wscript.Echo "Lecteurs CD/DVD présents :"
    Wscript.Echo "Description :" & objItem.Description
    Wscript.Echo "Nom :" & objItem.Name 
Next
Wscript.Echo ""


'==PROCESSEUR==
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")
For Each objItem in colItems
    Wscript.Echo "Processeur :" &objItem.name
Next


'==RESOLUTION D'ECRAN==
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DesktopMonitor")
For Each objItem in colItems
    Wscript.Echo "Résolution d'écran :" & objItem.ScreenWidth & "x" & objItem.ScreenHeight 
Next


Wscript.Echo "------------------------"
Wscript.Echo "||CONFIGURATION RESEAU||"
Wscript.Echo "------------------------"


'==ADRESSE IP==
Set IPConfigSet = objWMIService.ExecQuery _
    ("Select IPAddress from Win32_NetworkAdapterConfiguration ")
 
For Each IPConfig in IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then 
        For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
                WScript.Echo "Adresse IP :" & IPConfig.IPAddress(i)
        Next
    End If
Next


'==DOMAINE==
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings 
    Wscript.Echo "Domaine :" & objComputer.Domain
Next



'==UTILISATEUR LOGGE==
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2") 
Set colComputer = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
    Wscript.Echo "Utilisateur loggé sur ce PC :" & objComputer.UserName 
Next


'==ESAPCE DISQUE==
Wscript.Echo "----------------"
Wscript.Echo "||DISQUES DURS||"
Wscript.Echo "----------------"
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk" )
For Each objDisk in colDisks
    Wscript.Echo  objDisk.DeviceID  
    Wscript.Echo  "Espace Total   :" & objDisk.Size & " Octets"
    Wscript.Echo  "Espace Libre   :" & objDisk.FreeSpace & " Octets"    
Next


Wscript.Echo "-----------------------"
Wscript.Echo "||LOGICIELS INSTALLES||"
Wscript.Echo "-----------------------"


'==LOGICIELS INSTALLES==
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery ("Select * from Win32_Product")
For Each objSoftware in colSoftware
    Wscript.Echo "Nom :" & objSoftware.Name
    Wscript.Echo "Version :" & objSoftware.Version
    Wscript.Echo ""
Next


Wscript.Echo "--------------------------"
Wscript.Echo "||IMPRIMANTES INSTALLEES||"
Wscript.Echo "--------------------------"
'==IMPRIMANTES INSTALLEE SUR LA MACHINE==
   Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\CIMV2")
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Printer", "WQL",_
                                                          wbemFlagReturnImmediately +wbemFlagForwardOnly)
   For Each objItem In colItems
      WScript.Echo "" & objItem.Caption
 Next
   WScript.Echo
   WScript.Echo
   WScript.Echo
Next



Bon il y a certainement des améliorations à faire pour la compréhension du code mais là n'est pas la question :P :D
Quand je l'utilise sur ma machine en local (en mettant mon nom de machine) ça marche très bien, mais j'aimerais pouvoir avoir les info de PC à distance sur mon réseau. Quand je met le nom d'une des machines du réseau j'ai cette erreur :
Erreur d'execution Microsoft VBScript: Permission refusée: 'GetObject'
J'ai donc un problème de permission, pourtant je suis loggé avec un compte administrateur du réseau... :(
Quelqu'un aurait une idée?? :)
Merci.
Pour info j'utilise des PC avec Win XP SP2 avec firewall desactivé.

2 réponses

zell45 Messages postés 3 Date d'inscription mardi 4 avril 2006 Statut Membre Dernière intervention 11 avril 2006
5 avril 2006 à 16:39
Erf, désolé je savais pas que les balises code ne fonctionnait pas :s et je trouve pas de bouton pour éditer mon post... C'est pas très joli je suis désolé...
0
zell45 Messages postés 3 Date d'inscription mardi 4 avril 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 08:21
C'est bon en fait j'ai trouver! :)
Enfin j'ai trouvé...c'est un bien grand mot :D lol ça s'est mis à marcher tout seul sans que je ne change rien
0
Rejoignez-nous