Bonjour! J'ai encore un souci avec un de mes script WMI, le voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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
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é.