Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [VB .NET] WMI et les array [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (adnotlegland)

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é 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 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. MS Project 2000 et VB... [ par toledo ] Slt tt le monde,sous project je faids du développement en VBA et j'ai un pb.Voila, pour ceux qui connaissent, j'ai une tache qui dure pls jours, par e Commande MS-DOS sous VB [ par BirD ] Hello tout le monde,je suis un traind de créer un prog qui comprends l'execution de commande MS-Dos avec shell. Le programme réagit bien si j'execute HLP: MS Project et VB [ par nariel1 ] BonjourJe cherche a utiliser Ms Project depuis VB si vous avez des exemples merci de me les faire parvenirNariel1


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.