begin process at 2012 02 16 19:27:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

[VB .NET] WMI et les array


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[VB .NET] WMI et les array

samedi 4 mars 2006 à 16:49:53 | [VB .NET] WMI et les array

adnotlegland

Bonjour a tous,

quelqu'un pourrait-il me donner un bout de code pour recuperer une adresse ip (par exemple) par les wmi ??
Mon probleme c'est que la valeur renvoyé est une system.string[] et que je n'arrive pas à la recuperer
ex:

Dim Ms As New ManagementScope("\root\cimV2")
Dim Requete As New ObjectQuery("SELECT * FROM win32_networkadapterconfiguration")
Dim recherche As New ManagementObjectSearcher(Ms, Requete)

Ms.Connect()

Dim col As ManagementObjectCollection = recherche.Get
If Ms.IsConnected Then
For Each obj As ManagementObject In col
For Each propriete As PropertyData In obj.Properties
If Not propriete.Value Is Nothing Then
RichTextBox1.Text += propriete.Name + " = " + propriete.Value.ToString + ControlChars.CrLf
End If
Next
Next

End If

et là toutes les valeurs contenu dans des array affichent system.string[] mais pour les autres ca marche niquel !!!

Merci pour le coup de main
samedi 4 mars 2006 à 18:35:12 | Re : [VB .NET] WMI et les array

Willi

Membre Club Administrateur CodeS-SourceS
'Lut,
C'est normal que tu obtiennes ce résultat, la propriété IpAddress renvoie un tableau et non un string.

Voici un exemple avec managment, adapte selon ton besoin avec ta richtextbox.

Dim mos As New ManagementObjectSearcher("select ipaddress from win32_networkadapterconfiguration")

Dim
monIP() As String
Dim sIp As
String

For
Each mo As ManagementObject In mos.Get
   monIP = mo(
"ipaddress"
)
Next

mos.Dispose()

For i As Integer = 0 To monIP.Length - 1
   sIp += monIP(i) &
"."
Next

sIp = sIp.Remove(sIp.Length - 1)

Si est sous vb2005 ceci doit marcher
dim IP as sting = system.Net.Dns.GetHostEntry(Net.Dns.GetHostName).AddressList.GetValue(0).ToString

samedi 4 mars 2006 à 18:47:15 | Re : [VB .NET] WMI et les array

adnotlegland

Réponse acceptée !

 A force de tatonner j'avais trouver un bout de code du style (pour reprendre ton exemple) :

Dim
mos As New ManagementObjectSearcher("select ipaddress from win32_networkadapterconfiguration where index = 1"
)

Dim
monIP() As String
Dim sIp As
String

For
Each mo As ManagementObject In mos.Get
   For each propriete as propertydata in mo.properties
   monIP = propriete.value

   Next
Next

mos.Dispose()   //question : pourquoi le detruire ??

sIp = monIP(0).tostring


qu'en penses tu ??

samedi 4 mars 2006 à 19:06:14 | Re : [VB .NET] WMI et les array

Willi

Membre Club Administrateur CodeS-SourceS

sa me parait correct.
on ne détruit pas l'objet mos ! on libère simplement les ressources utilisées par celui-ci. après c'est au GarbageCollector de faire son travail....

samedi 4 mars 2006 à 19:25:46 | Re : [VB .NET] WMI et les array

TroXsA

Pour recuperer l'adresse IP voila comment je fait

      'Example en Wmi
imports System
imports System.Management


Module Module1

  Public Shared Sub Main()
    Dim query as ManagementObjectSearcher = new _
        ManagementObjectSearcher("SELECT * FROM
WIN32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'")
    Dim queryCollection as ManagementObjectCollection = query.Get()
    Dim mo as ManagementObject
    For Each mo In queryCollection
      Dim addresses() as string = CType(mo("IPAddress"), string())
      Dim defaultgateways() as string = CType(mo("DefaultIPGateway"),
string())

      Console.WriteLine("Network Card: {0}", mo("Description"))
      Console.WriteLine("    MAC Address: {0}", mo("MACAddress"))

      Dim ipaddress as string
      For Each ipaddress In addresses
         Console.WriteLine("    IP Address: {0}", ipaddress)
      Next

      Dim gateway as string
      For Each gateway In defaultgateways
        Console.WriteLine("    Gateway: {0}", gateway)
      Next
    Next
  End Sub
End Module

Encore une autre methode plus courte,

        Dim varHostEntry As System.Net.IPHostEntry
        varHostEntry = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName())
        Dim varAnAddress As System.Net.IPAddress

        For Each varAnAddress In varHostEntry.AddressList
            MsgBox(varAnAddress.ToString())
        Next


Pour un reseau local je fait autrement,

Imports System.Net

    Public Function ListeAdressesIP() As String
        Dim strListe As String
        Dim objAdresse As Net.IPAddress
        Dim objHote As Net.IPHostEntry

        objHote = Dns.Resolve(Dns.GetHostByName("LocalHost").HostName)
        For Each objAdresse In objHote.AddressList()
            strListe = IIf(strListe = "", "", strListe & "#") & objAdresse.ToString()
        Next
        Return strListe
    End Function

Voila j'espere que tu auras le choix

http://www.troxsa.info/
Code VB.net

dimanche 5 mars 2006 à 06:26:13 | Re : [VB .NET] WMI et les array

adnotlegland

Merci Willi, et merci Troxsa pour l'astuce avec system.net ca peut aussi etre utile. Il est bien ce petit forum  
dimanche 30 avril 2006 à 12:36:27 | Re : [VB .NET] WMI et Reseau

gastonfinger


Bonjour Je suis sur un logiciel de gestion de trafic sur un grand réseau
j'aimerai utilié le wmi pour ramener toutes les informations (équipement ) de ce reseau
mais je n'ai jamais utilisé le wmi!!!
     merci de l'aide
dimanche 30 avril 2006 à 13:13:52 | Re : [VB .NET] WMI et les array

TroXsA

salut gastonfinger  je serais toi je ferais un nouveau topic !
et pour repondre a moitier a ta question : sur mon site il y a des exemples


[ Lien ]
Code Vb.net 
mercredi 31 janvier 2007 à 09:42:37 | connexionsbo

guillaume_2k3

Bonjour  à tous,

Je débute en VB, je ne suis pas développeur et je cherche à faire un script VB qui change la passerelle des machines de mon parc à distance.

J'utilise WMI avec VB mais dès que je met du "code wmi" il n'est pas reconnu dans VB.
quand je copie-colle vos sources dans vb 2005 express, les noms de classe sont soulignés et j'ai des erreurs style
Erreur    3    Type 'ManagementScope' non défini.   

je suppose qu'il faut importer une classe, mais je ne sais pas comment procéder en VB ni quelle classe importer.

merci de votre aide...
jeudi 14 février 2008 à 11:17:25 | Re : [VB .NET] WMI et les array

quentincabo

as-tu ajouter le composant system.management dans les options du Visual Studio 2005???


Cette discussion est classée dans : propriete, vb, ms, array, wmi


Répondre à ce message

Sujets en rapport avec ce message

MS Chart 6.0 sous VB.net et Vista Home 32 [ par Jimson ] Bonjour à tous,Je suis un peu coincé sur un développement de jeu sous VB.net 2005. J'ai VS2005 Entreprise et Vista 32 (oui je sais, désolé...) et malg De VB6 a VB.net [ par johnnous ] Bonjourje suis en train de porté un source VB6 en VB.netj'ai cette source qui fonction sous VB6 mais pas VB.netMyScale = Array(0, 0, 0)sous VB.neterre Conversion de VBA Ms Access à Vb.Net [ par emayen01 ] Bonjour , je débute en  Vb.Net et j'ai a faire une migration d'une interface MS Access 2003 a Vb.Net avec du Vba , sous sql server 2000.je sais pas connexion VB Net MS Project [ par IrisTun ] Bonsoir,je fai une application en VB Net et je doit faire un diagramme de GANTT avec MS Project et je veut que les taches seront rempli à travars une MS CAL sous excel 2007 [ par bertrand089 ] J'ai changer de version office 2000 vers 2007 . J'utilisais des macros VB sous excel avec MS Calendar V8.0 mais je ne les retrouve pas sous VB d'excel VB 2008/MS access 2003 et combobox urgent [ par gillestang ] Bonjour, J’ai besoin d’urgence d’aide, j’ai fait une application VB2008 / avec une base de données Ms Access 2003. J’ai des contrôles de type combobo exécution d'une macro sur MS Project en VB pas dans le fichier global [ par virtuelnada ] Bonjour à tous, Voici application, J'ouvre MS Project à partir d'Excel avec un petite macro. Arrivée dans MS Project, une macro se déclenche à l'ouv convertir a une application MS Access a une application de VB.net [ par fouad11 ] j ai fais une application avec  MS Access est je veux la convertir a une applicat ms agent control [ par taloche57 ] salutation !!je chercherdes code source en vb pour ms agent.le but de ma recherche estde faire des commandes precises dans un petit programme vb (ex: Faire un commandes Ms-Dos sous Vb ? [ par Clem ] Comment faire un dos complet sous Vb ?C'est pour faire un dos accéssible par le réseau.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales