Bonjour, j'ai besoin d'uns script VBS qui affiche certaine information sur le PC:
1 -> Les adresse IP et passerelle
2 -> carte mére
3 -> Carte réseau
4 -> carte son
5 -> processeur
pouriez vous m'aider ?
Version imprimable
Bonjour, j'ai besoin d'uns script VBS qui affiche certaine information sur le PC:
1 -> Les adresse IP et passerelle
2 -> carte mére
3 -> Carte réseau
4 -> carte son
5 -> processeur
pouriez vous m'aider ?
Pour le 1, j'ai :
Pour le reste, cela dépend de ce que tu veux savoir.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 strComputer = "." Set objWMIService = GetObject(_ "winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery _ ("Select * From Win32_NetworkAdapter " _ & "Where NetConnectionID = " & _ "'Local Area Connection 2'") For Each objItem in colItems strMACAddress = objItem.MACAddress Next Set colItems = objWMIService.ExecQuery _ ("Select * From Win32_NetworkAdapterConfiguration") For Each objItem in colItems If objItem.MACAddress = strMACAddress Then For Each strIPAddress in objItem.IPAddress Wscript.Echo "IP Address: " & strIPAddress Next End If Next
Mais de façon générale, pour obtenir des informations sur le poste local, quelqu'un nous a fournis un source pas mal du tout :
http://www.developpez.net/forums/sho...d.php?t=357058
Essaye le et prend ce que tu as besoins. :D
Bonjour et merci beaucoup ;)
Ton script ne fonctione pas chez moi, le Wscript.Echo ne s'affiche pas
Je vais voir ton lien :D
Dans le lien que tu ma donner, j'ai récupére ceci:
Mais ca me renvoi une erreurCode:
1
2
3
4 Set colBaseBoards = objWMIService.ExecQuery _ ("Select * from Win32_BaseBoard") report = report & vbCrLf & "******************************************" & vbCrLf report = report & "Carte-mère" & vbCrLf & "******************************************" & vbCrLf
Il faut que tu me donnes les erreurs pour que je comprenne le problème.
Pour le script tu dois conserver cette ligne aussi :
Code:Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Donc j'ai ceci:
Et j'ai cette erreur:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colBaseBoards = objWMIService.ExecQuery _ ("Select * from Win32_BaseBoard") report = report & vbCrLf & "******************************************" & vbCrLf report = report & "Carte-mère" & vbCrLf & "******************************************" & vbCrLf For Each objBaseBoard in colBaseBoards report = report & "- Nom: " & objBaseBoard.Name & vbCrLf report = report & "- Modèle: " & objBaseBoard.Model & vbCrLf report = report & "- Manufacturier: " & objBaseBoard.Manufacturer & vbCrLf report = report & "- Numéro de série: " & objBaseBoard.SerialNumber & vbCrLf report = report & "- Numéro d'inventaire (SKU): " & objBaseBoard.SKU & vbCrLf report = report & vbCrLf Next
http://hebergement-images.voiloo.net...23504f2422.jpg
il te manque :
Code:strComputer = "."
j'ai ajouter strComputer = "." mais j'ai toujour une erreur :?
dis moi lorque tu copies colles dans ton fichier script, tu enlèves bien les?Citation:
_
Ceci :
Deviens ceci :Code:
1
2 Set colBaseBoards = objWMIService.ExecQuery _ ("Select * from Win32_BaseBoard")
Code:Set colBaseBoards = objWMIService.ExecQuery("Select * from Win32_BaseBoard")
me renvoi toujour une erreur :?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") strComputer = "." Set colBaseBoards = objWMIService.ExecQuery("Select * from Win32_BaseBoard") report = report & vbCrLf & "******************************************" & vbCrLf report = report & "Carte-mère" & vbCrLf & "******************************************" & vbCrLf For Each objBaseBoard in colBaseBoards report = report & "- Nom: " & objBaseBoard.Name & vbCrLf report = report & "- Modèle: " & objBaseBoard.Model & vbCrLf report = report & "- Manufacturier: " & objBaseBoard.Manufacturer & vbCrLf report = report & "- Numéro de série: " & objBaseBoard.SerialNumber & vbCrLf report = report & "- Numéro d'inventaire (SKU): " & objBaseBoard.SKU & vbCrLf report = report & vbCrLf Next
Non mais même en batch tu utilises des variables, non ?
Il faut les initialiser avant de les utiliser. In verse les deux premières lignes et ceci marche correctement :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colBaseBoards = objWMIService.ExecQuery("Select * from Win32_BaseBoard") report = report & vbCrLf & "******************************************" & vbCrLf report = report & "Carte-mère" & vbCrLf & "******************************************" & vbCrLf For Each objBaseBoard in colBaseBoards report = report & "- Nom: " & objBaseBoard.Name & vbCrLf report = report & "- Modèle: " & objBaseBoard.Model & vbCrLf report = report & "- Manufacturier: " & objBaseBoard.Manufacturer & vbCrLf report = report & "- Numéro de série: " & objBaseBoard.SerialNumber & vbCrLf report = report & "- Numéro d'inventaire (SKU): " & objBaseBoard.SKU & vbCrLf report = report & vbCrLf Next msgbox report
OK, merci encore ;)
Donc j'ai modifier un peut le code pour un affichage dans une fenêtre:
Mais ca ne m'affiche pas tout,Code:
1
2
3
4
5
6
7
8
9
10
11
12 strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colBaseBoards = objWMIService.ExecQuery("Select * from Win32_BaseBoard") For Each objBaseBoard in colBaseBoards Wscript.Echo "Carte mère Nom: " & objBaseBoard.Name & vbCrLf & "Carte mère Modèle: " & objBaseBoard.Model & vbCrLf & "Carte mère Manufacturier: " & objBaseBoard.Manufacturer & vbCrLf & "Carte mère Numéro de série: " & objBaseBoard.SerialNumber & vbCrLf & "Carte mère Numéro d'inventaire (SKU): " & objBaseBoard.SKU Next
ca affiche tout chez toi ?
J'ai essayé les deux codes et cela ne m'affiche pas tout non plus.
En fait cela dépend si le constructeur de la carte fournis ces informations, du moins les rends disponible par intérogation logicielle.
Je crois que si tu n'as pas toutes les infos, tu ne pourras jamais les avoir.
Et cela dépend de la carte que tu as.
Moi j'ai un truc super générique alors j'ai pas grand chose.
merci encore ;)
je vous aide un peu, (si possible)
pour la mémoire vive:
et il faut que vous mettiez un timer qui sappele timer1Code:
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 Option Explicit Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpbuffer As memorystatus) Private Type memorystatus ' (Memorystatus) il est définie en dessous dwlength As Long dwmemoryload As Long 'pourcentage d'utilisation dwtotalphys As Long 'utilisation de la mémoire au total(bytes[octets]) dwavailphys As Long 'mémoire non utilisée (bytes[octets]) dwtotalpagefile As Long dwavailpagefile As Long dwtotalvirtual As Long dwavailvirtual As Long End Type Private Sub Form_Activate() MsgBox ("Contacte : imparator_42") End Sub Private Sub Form_Load() Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() On Error Resume Next Cls Dim m As memorystatus GlobalMemoryStatus m FontSize = 15 ForeColor = &HFF& Print " Utilisation de la mémoire en %:", m.dwmemoryload ForeColor = &HFF8080 Print " Total :", , m.dwtotalphys / 1024 / 1024&; "mo" ForeColor = &H8080& Print " Non utilisé :", , m.dwavailphys / 1024 / 1024&; "mo" End Sub
merci beaucoup ;)
Mais le script renvoie une erreur "fin d'instruction attendue"
Pour Adresse ip :
Code:
1
2
3
4
5
6 Private Sub Form_Load() IP.Caption = "Adresse IP de votre ordinateur:" + Winsock1.LocalIP End sub
Bon il faut savoir qu'il faut ajouter un label qui porte le nom "IP"...
Apres tu peux le changer comme tu veux
Et si tu veux encore tu peux aussi avoir le nom de ton ordinateur :
Il faut ajouter un label nommé : label1Code:
1
2
3
4
5
6 Private Sub Form_Load() Label1.Caption ="le nom de votre ordinateur est :" + Winsock1.LocalHostName End sub
Excusez moi, je pas fait tres gaffe ,je coryais quon était sur VB6
ok, c'est pas grave, merci quand même ;)
Vous sauriez comment afficher les conections réseau ?
qu'appelle tu les connexions réseaux..?
as tu regardé la discussion du forum contributions VBscript citée plus haut par Ced600 ? ce script ne te donne t'il pas les résultats escomptés ?
ben le nom des connection quoi
je n'ai rien vu sur la connaction réseau
Normalement il t'affiche les détails de connnection.
Je ne sais pas si tu as vu mais le script ne t'affiche rien à l'écran, il enregistre tout dans un fichier inventaire sur c:
Normalement c'est ce code là :
Les deux premières lignes du code précédent sont toujours indispensable pour qu'il fonctionne indépendemment de ton autre code.Code:
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 Set colAdapters = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapter") report = report & "******************************************" & vbCrLf report = report & "Carte(s) réseau(x)" & vbCrLf & "******************************************" & vbCrLf For Each objAdapter in colAdapters If (objAdapter.Manufacturer<>"Microsoft") Then 'report = report & "- Nom de la carte/adapteur (Caption): " & objAdapter.Caption & vbcrlf report = report & "- Nom de la carte/adapteur: " & objAdapter.Name & vbcrlf report = report & "- Type de la carte/adapteur: " & objAdapter.AdapterType & vbcrlf 'report = report & "- État actuel: " & objAdapter.Availability & vbcrlf report = report & "- Description: " & objAdapter.Description & vbcrlf report = report & "- Adresse MAC: " & objAdapter.MACAddress & vbcrlf 'report = report & "- Adresse réseau de la carte: " & objAdapter.NetworkAddresses & vbcrlf 'report = report & "- Adresse préprogrammée: " & objAdapter.PermanentAddress & vbcrlf report = report & "- Nom du fabricant: " & objAdapter.Manufacturer & vbcrlf report = report & "- Nom du produit: " & objAdapter.ProductName & vbcrlf report = report & "- Nom de service: " & objAdapter.ServiceName & vbcrlf report = report & "- Vitesse maximale: " & objAdapter.MaxSpeed & vbcrlf 'If (objAdapter.Speed = 0) Or (objAdapter.Speed = "") Then ' report = report & "- Bande passante actuelle: Non-disponible ou si faible qu'elle indique 0" & vbcrlf 'Else ' report = report & "- Bande passante actuelle: " & objAdapter.Speed & vbcrlf 'End If 'report = report & "- Date de la dernière réinitialisation: " & objAdapter.TimeOfLastReset & vbcrlf Set colAdaptersConf = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapterConfiguration") For Each objAdapterConf in colAdaptersConf If (objAdapter.Manufacturer<>"Microsoft") AND (objAdapter.Caption = objAdapterConf.Caption) Then report = report & "==> Configurations de la carte réseau <==" & vbcrlf report = report & "- Adresse IP: " & objAdapterConf.IPAddress & vbcrlf report = report & "- Masque de sous-réseau: " & objAdapterConf.IPSubnet & vbcrlf report = report & "- Le DHCP (Attribution automatique d'une adresse IP par un serveur DHCP) est-il activé:" & vbCrLf report = report & objAdapterConf.DHCPEnabled & vbcrlf report = report & "- Serveur DHCP: " & objAdapterConf.DHCPServer & vbcrlf report = report & "- Serveur(s) DNS: " & objAdapterConf.DNSServerSearchOrder & vbcrlf End If Next End If Next report = report & "- - - - - -" & vbcrlf report = report & "Si vous ne pouvez naviguer et que les configurations IP semblent correctes," & vbcrlf report = report & "vous pouvez essayer l'utilitaire WinsockFix.exe =>" & vbcrlf report = report & "http://www.google.ca/search?hl=fr&rls=GGLD%2CGGLD%3A2004-30%2CGGLD%3Afr&q=winsockfix.exe+download&btnG=Rechercher&meta=" & vbcrlf report = report & "- - - - - -" & vbcrlf report = report & vbcrlf
Mais si tu utilises les deux code dans le même script, alors ne qu'une seule fois c'est deux première ligne.
encore merci ;)
J'ai modifier un peut le code: (pour avoir l'affichage dans une fenêtre):
Mais j'ai cette erreur:Code:
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 Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter") For Each objAdapter in colAdapters If (objAdapter.Manufacturer<>"Microsoft") Then wscript.echo "Nom de la carte/adapteur (Caption): " & objAdapter.Caption & vbcrlf _ & "Nom de la carte/adapteur: " & objAdapter.Name & vbcrlf _ & "Type de la carte/adapteur: " & objAdapter.AdapterType & vbcrlf _ & "État actuel: " & objAdapter.Availability & vbcrlf _ & "Description: " & objAdapter.Description & vbcrlf _ & "Adresse MAC: " & objAdapter.MACAddress & vbcrlf _ & "Adresse réseau de la carte: " & objAdapter.NetworkAddresses & vbcrlf _ & "Adresse préprogrammée: " & objAdapter.PermanentAddress & vbcrlf _ & "Nom du fabricant: " & objAdapter.Manufacturer & vbcrlf _ & "Nom du produit: " & objAdapter.ProductName & vbcrlf _ & "Nom de service: " & objAdapter.ServiceName & vbcrlf _ & "Vitesse maximale: " & objAdapter.MaxSpeed & vbcrlf _ 'If (objAdapter.Speed = 0) Or (objAdapter.Speed = "") Then ' report = report & "- Bande passante actuelle: Non-disponible ou si faible qu'elle indique 0" & vbcrlf 'Else ' report = report & "- Bande passante actuelle: " & objAdapter.Speed & vbcrlf 'End If 'report = report & "- Date de la dernière réinitialisation: " & objAdapter.TimeOfLastReset & vbcrlf Set colAdaptersConf = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapterConfiguration") For Each objAdapterConf in colAdaptersConf If (objAdapter.Manufacturer<>"Microsoft") AND (objAdapter.Caption = objAdapterConf.Caption) Then report = report & "==> Configurations de la carte réseau <==" & vbcrlf wscript.echo "Adresse IP: " & objAdapterConf.IPAddress & vbcrlf _ & "Masque de sous-réseau: " & objAdapterConf.IPSubnet & vbcrlf _ & "Le DHCP (Attribution automatique d'une adresse IP par un serveur DHCP) est-il activé:" & vbCrLf _ & objAdapterConf.DHCPEnabled & vbcrlf _ & "Serveur DHCP: " & objAdapterConf.DHCPServer & vbcrlf _ & "Serveur(s) DNS: " & objAdapterConf.DNSServerSearchOrder & vbcrlf _ End If Next End If Next
http://hebergement-images.voiloo.net...dad5f4bf63.jpg
En première ligne :mrgreen:Code:strComputer = "."
encore merci ;)
le script fonctione mais il renvoie cette erreur a la fin:
http://hebergement-images.voiloo.net...ff47f56aac.jpg
Avec les _ je me perds dans les compte, c'est koi la ligne 34 ?
Salut,
tu as le scriptomatic de crosoft qui te fait tout ca et te génère le code qui va bien en VBS, Python JScript ou Perl, juste à toi de te placer dans la bonne classe WMI :
A++Code:http://www.microsoft.com/downloads/details.aspx?familyid=09dfc342-648b-4119-b7eb-783b0f7d1178&displaylang=en
et quand tu fais :
c'est quoi à ton avis ?Code:
1
2 Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter")
C'est pas grave télécharge le bouzin et dans la listbox de gauche de scriptomatic, choisis "Win32_NetworkAdapter" puis cliques sur le bouton "Run" et la lumière viendra vers toi :yaisse2:
A++
merci je regarderai ca se soir ;) ;)
Bha je voulais savoir à koi correspond la ligne de l'erreur, j'ai du mal à compter !!!
WMI est Windows Management Instrumentation, c'est des classes misent à disposition pour faire un tas de truc comme obtenir une adresse IP.
Bref tu l'utilises depuis départ quasiment dans les script.
Je n'ai juste jamais prononcé le mot, car vu qu'il te manque quelque base, j'avais peur de te perdre :D