J'ai un problème de compréhension pour lister certaines valeurs obtenues via WMI.
Le script suivant fonctionne très bien, mais je souhaiterai faire un équivalent en récupérant tout ce qui est possible
sans avoir à écrire chaque couple name/value.
Ou remplacer ce qu'il y a dans dans la boucle *FOR I=..../NEXT* par quelque chose de plus complet.
Merci d'avance
Bernard
'--------------------------------------------------------------------------------------------
Set IPConfigSet = GetObject("winmgmts://.").ExecQuery("select * from Win32_NetworkAdapterConfiguration where
IPEnabled=TRUE")
ip = ""
For Each IPConfig In IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
ip = ip + " nom : " & IPConfig.caption(i) + chr(10)
ip = ip + " Description : " & IPConfig.description(i) & chr(10)
ip = ip + " Dnsdomain : " & IPConfig.dnsdomain(i) & chr(10)
ip = ip + " DnsHostname : " & IPConfig.dnshostname(i) & chr(10)
ip = ip + " Dhcpserver : " & IPConfig.dhcpserver(i) & chr(10)
ip = ip + " Dhcpenabled : " & IPConfig.dhcpenabled(i) & chr(10)
ip = ip + " IPAddress : " & IPConfig.IPAddress(i) & chr(10)
ip = ip + " Subnet : " & IPConfig.IPSubnet(i) & chr(10)
ip = ip + " MAC Address : " & IPConfig.MACAddress(i) & chr(10)
Next
End If
Next
WScript.Echo IP
'--------------------------------------------------------------------------------------------
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques Barathon [MS]
"Bernard59139" <bfermaut at free dot fr> wrote in message news:
Bonjour
J'ai un problème de compréhension pour lister certaines valeurs obtenues via WMI.
Le script suivant fonctionne très bien, mais je souhaiterai faire un équivalent en récupérant tout ce qui est possible sans avoir à écrire chaque couple name/value. Ou remplacer ce qu'il y a dans dans la boucle *FOR I=..../NEXT* par quelque chose de plus complet.
C'est l'occasion de passer à Windows PowerShell :-) :
PS> $IPConfigSet = get-wmiobject -query 'Select * from Win32_NetworkAdapterConfiguration where IPEnabled="TRUE"' PS> $IPConfigSet | format-list *
... S'ensuit la longue liste de toutes les propriétés pour chaque adaptateur concerné.
Pour n'afficher que quelques propriétés sous forme d'une table:
description MACAddress ----------- ---------- Broadcom 570x Gigabit Integrated Controller 00:0F:1F:A1:C6:39 Intel(R) PRO/Wireless LAN 2100 3A Mini PCI Adapter 00:0C:F1:24:C5:45
Jacques
"Bernard59139" <bfermaut at free dot fr> wrote in message
news:ePocGPvGHHA.4688@TK2MSFTNGP04.phx.gbl...
Bonjour
J'ai un problème de compréhension pour lister certaines valeurs obtenues
via WMI.
Le script suivant fonctionne très bien, mais je souhaiterai faire un
équivalent en récupérant tout ce qui est possible sans avoir à écrire
chaque couple name/value.
Ou remplacer ce qu'il y a dans dans la boucle *FOR I=..../NEXT* par
quelque chose de plus complet.
C'est l'occasion de passer à Windows PowerShell :-) :
PS> $IPConfigSet = get-wmiobject -query 'Select * from
Win32_NetworkAdapterConfiguration where IPEnabled="TRUE"'
PS> $IPConfigSet | format-list *
... S'ensuit la longue liste de toutes les propriétés pour chaque adaptateur
concerné.
Pour n'afficher que quelques propriétés sous forme d'une table:
"Bernard59139" <bfermaut at free dot fr> wrote in message news:
Bonjour
J'ai un problème de compréhension pour lister certaines valeurs obtenues via WMI.
Le script suivant fonctionne très bien, mais je souhaiterai faire un équivalent en récupérant tout ce qui est possible sans avoir à écrire chaque couple name/value. Ou remplacer ce qu'il y a dans dans la boucle *FOR I=..../NEXT* par quelque chose de plus complet.
C'est l'occasion de passer à Windows PowerShell :-) :
PS> $IPConfigSet = get-wmiobject -query 'Select * from Win32_NetworkAdapterConfiguration where IPEnabled="TRUE"' PS> $IPConfigSet | format-list *
... S'ensuit la longue liste de toutes les propriétés pour chaque adaptateur concerné.
Pour n'afficher que quelques propriétés sous forme d'une table:
description MACAddress ----------- ---------- Broadcom 570x Gigabit Integrated Controller 00:0F:1F:A1:C6:39 Intel(R) PRO/Wireless LAN 2100 3A Mini PCI Adapter 00:0C:F1:24:C5:45
Jacques
Bernard59139
"Jacques Barathon [MS]" a écrit dans le message de news:
...... C'est l'occasion de passer à Windows PowerShell :-) :
J'ai plus qu'à bosser pour apprendre ce nouveau truc Win-PS. Et installer ca sur les PC que je gère, si l'admin le veut bien. Enfin pas si nouveau que celà. Déjà, j'ai récupéré la liste de toutes les propriétés, ce n'est pas un luxe.
merci pour la réponse très rapide Bernard
"Jacques Barathon [MS]" <jbaratho@online.microsoft.com> a écrit dans le message de news:
eP3SoivGHHA.4804@TK2MSFTNGP03.phx.gbl...
......
C'est l'occasion de passer à Windows PowerShell :-) :
J'ai plus qu'à bosser pour apprendre ce nouveau truc Win-PS. Et installer ca sur les PC que je gère, si l'admin le veut
bien. Enfin pas si nouveau que celà.
Déjà, j'ai récupéré la liste de toutes les propriétés, ce n'est pas un luxe.
"Jacques Barathon [MS]" a écrit dans le message de news:
...... C'est l'occasion de passer à Windows PowerShell :-) :
J'ai plus qu'à bosser pour apprendre ce nouveau truc Win-PS. Et installer ca sur les PC que je gère, si l'admin le veut bien. Enfin pas si nouveau que celà. Déjà, j'ai récupéré la liste de toutes les propriétés, ce n'est pas un luxe.
merci pour la réponse très rapide Bernard
Gilles LAURENT
"Bernard59139" <bfermaut at free dot fr> a écrit dans le message de news: | Bonjour
Bonsoir,
[...] | Le script suivant fonctionne très bien, mais je souhaiterai faire un | équivalent en récupérant tout ce qui est possible sans avoir à écrire | chaque couple name/value.
La fonction VBScript 'PrintWMIProperties' ci-dessous affiche toutes les propriétés et valeurs d'une classe WMI spécifiée comme argument. Cela est possible grâce à "l'auto-documentation" des classes WMI qui exposent leurs propriétés et méthodes au même titre que le framework .Net et PowerShell.
--- Coupez ici ---
Sub PrintWMIProperties (strWMIClass) Set oWmi = GetObject ("winmgmts:/root/cimv2") Set colWmi = GetObject ("winmgmts:/root/cimv2:" & strWMIClass) Set colObj = oWmi.ExecQuery ("Select * from " & strWMIClass) For Each obj in colObj For Each oProp In colWmi.Properties_ If Not IsArray (obj.Properties_.Item (oProp.Name)) Then WScript.Echo oProp.Name & "=" & _ obj.Properties_.Item (oProp.Name) Else WScript.Echo oProp.Name & _ "=(" & Join (obj.Properties_.Item(oProp.Name),",") & ")" End If Next WScript.Echo Next End Sub
"Bernard59139" <bfermaut at free dot fr> a écrit dans le message de
news:ePocGPvGHHA.4688@TK2MSFTNGP04.phx.gbl
| Bonjour
Bonsoir,
[...]
| Le script suivant fonctionne très bien, mais je souhaiterai faire un
| équivalent en récupérant tout ce qui est possible sans avoir à écrire
| chaque couple name/value.
La fonction VBScript 'PrintWMIProperties' ci-dessous affiche toutes les
propriétés et valeurs d'une classe WMI spécifiée comme argument. Cela
est possible grâce à "l'auto-documentation" des classes WMI qui exposent
leurs propriétés et méthodes au même titre que le framework .Net et
PowerShell.
--- Coupez ici ---
Sub PrintWMIProperties (strWMIClass)
Set oWmi = GetObject ("winmgmts:/root/cimv2")
Set colWmi = GetObject ("winmgmts:/root/cimv2:" & strWMIClass)
Set colObj = oWmi.ExecQuery ("Select * from " & strWMIClass)
For Each obj in colObj
For Each oProp In colWmi.Properties_
If Not IsArray (obj.Properties_.Item (oProp.Name)) Then
WScript.Echo oProp.Name & "=" & _
obj.Properties_.Item (oProp.Name)
Else
WScript.Echo oProp.Name & _
"=(" & Join (obj.Properties_.Item(oProp.Name),",") &
")"
End If
Next
WScript.Echo
Next
End Sub
"Bernard59139" <bfermaut at free dot fr> a écrit dans le message de news: | Bonjour
Bonsoir,
[...] | Le script suivant fonctionne très bien, mais je souhaiterai faire un | équivalent en récupérant tout ce qui est possible sans avoir à écrire | chaque couple name/value.
La fonction VBScript 'PrintWMIProperties' ci-dessous affiche toutes les propriétés et valeurs d'une classe WMI spécifiée comme argument. Cela est possible grâce à "l'auto-documentation" des classes WMI qui exposent leurs propriétés et méthodes au même titre que le framework .Net et PowerShell.
--- Coupez ici ---
Sub PrintWMIProperties (strWMIClass) Set oWmi = GetObject ("winmgmts:/root/cimv2") Set colWmi = GetObject ("winmgmts:/root/cimv2:" & strWMIClass) Set colObj = oWmi.ExecQuery ("Select * from " & strWMIClass) For Each obj in colObj For Each oProp In colWmi.Properties_ If Not IsArray (obj.Properties_.Item (oProp.Name)) Then WScript.Echo oProp.Name & "=" & _ obj.Properties_.Item (oProp.Name) Else WScript.Echo oProp.Name & _ "=(" & Join (obj.Properties_.Item(oProp.Name),",") & ")" End If Next WScript.Echo Next End Sub
"Bernard59139" <bfermaut at free dot fr> a écrit dans le message de news: | Bonjour
Bonsoir,
[...] | Le script suivant fonctionne très bien, mais je souhaiterai faire un | équivalent en récupérant tout ce qui est possible sans avoir à écrire | chaque couple name/value.
La fonction VBScript 'PrintWMIProperties' ci-dessous affiche toutes les propriétés et valeurs d'une classe WMI spécifiée comme argument. Cela est possible grâce à "l'auto-documentation" des classes WMI qui exposent leurs propriétés et méthodes au même titre que le framework .Net et PowerShell.
--- Coupez ici ---
Sub PrintWMIProperties (strWMIClass) Set oWmi = GetObject ("winmgmts:/root/cimv2") Set colWmi = GetObject ("winmgmts:/root/cimv2:" & strWMIClass) Set colObj = oWmi.ExecQuery ("Select * from " & strWMIClass) For Each obj in colObj For Each oProp In colWmi.Properties_ If Not IsArray (obj.Properties_.Item (oProp.Name)) Then WScript.Echo oProp.Name & "=" & _ obj.Properties_.Item (oProp.Name) Else WScript.Echo oProp.Name & _ "=(" & Join (obj.Properties_.Item(oProp.Name),",") & ")" End If Next WScript.Echo Next End Sub
Va falloir que je prenne des vitamines pour m'adapter à windows. je dois apprendre les langage de script et les briques comme WMI, ADO, .... En assimillant les notions d'objets. Je viens du monde "mainframe" où les choses étaient très différentes, les objets y était inconnus.
Merci à Gilles et à Jacques Bernard
"Gilles LAURENT" <glsft@free.fr> a écrit dans le message de news: uKk1SCyGHHA.1912@TK2MSFTNGP03.phx.gbl...
"Bernard59139" <bfermaut at free dot fr> a écrit dans le message de
news:ePocGPvGHHA.4688@TK2MSFTNGP04.phx.gbl
| Bonjour
Bonsoir,
[...]
| Le script suivant fonctionne très bien, mais je souhaiterai faire un
| équivalent en récupérant tout ce qui est possible sans avoir à écrire
| chaque couple name/value.
La fonction VBScript 'PrintWMIProperties' ci-dessous affiche toutes les
propriétés et valeurs d'une classe WMI spécifiée comme argument. Cela
est possible grâce à "l'auto-documentation" des classes WMI qui exposent
leurs propriétés et méthodes au même titre que le framework .Net et
PowerShell.
--- Coupez ici ---
Sub PrintWMIProperties (strWMIClass)
Set oWmi = GetObject ("winmgmts:/root/cimv2")
Set colWmi = GetObject ("winmgmts:/root/cimv2:" & strWMIClass)
Set colObj = oWmi.ExecQuery ("Select * from " & strWMIClass)
For Each obj in colObj
For Each oProp In colWmi.Properties_
If Not IsArray (obj.Properties_.Item (oProp.Name)) Then
WScript.Echo oProp.Name & "=" & _
obj.Properties_.Item (oProp.Name)
Else
WScript.Echo oProp.Name & _
"=(" & Join (obj.Properties_.Item(oProp.Name),",") &
")"
End If
Next
WScript.Echo
Next
End Sub
Va falloir que je prenne des vitamines pour m'adapter à windows. je dois apprendre les langage de script et les briques
comme WMI, ADO, .... En assimillant les notions d'objets.
Je viens du monde "mainframe" où les choses étaient très différentes, les objets y était inconnus.
"Bernard59139" <bfermaut at free dot fr> a écrit dans le message de news: | Bonjour
Bonsoir,
[...] | Le script suivant fonctionne très bien, mais je souhaiterai faire un | équivalent en récupérant tout ce qui est possible sans avoir à écrire | chaque couple name/value.
La fonction VBScript 'PrintWMIProperties' ci-dessous affiche toutes les propriétés et valeurs d'une classe WMI spécifiée comme argument. Cela est possible grâce à "l'auto-documentation" des classes WMI qui exposent leurs propriétés et méthodes au même titre que le framework .Net et PowerShell.
--- Coupez ici ---
Sub PrintWMIProperties (strWMIClass) Set oWmi = GetObject ("winmgmts:/root/cimv2") Set colWmi = GetObject ("winmgmts:/root/cimv2:" & strWMIClass) Set colObj = oWmi.ExecQuery ("Select * from " & strWMIClass) For Each obj in colObj For Each oProp In colWmi.Properties_ If Not IsArray (obj.Properties_.Item (oProp.Name)) Then WScript.Echo oProp.Name & "=" & _ obj.Properties_.Item (oProp.Name) Else WScript.Echo oProp.Name & _ "=(" & Join (obj.Properties_.Item(oProp.Name),",") & ")" End If Next WScript.Echo Next End Sub
Va falloir que je prenne des vitamines pour m'adapter à windows. je dois apprendre les langage de script et les briques comme WMI, ADO, .... En assimillant les notions d'objets. Je viens du monde "mainframe" où les choses étaient très différentes, les objets y était inconnus.