Infos systéme avec wmi

Contenu du snippet

Voila un ptit bout de code sans prétention mais qui rend bien des services.
Je me suis aperçu que sur ce site il n'y avait que tres peu d'info concernant les requetes WMI.
Je post donc ce code qui vous permettra de récupérer une multitude d'info sur une machine distante tel que des infos sur les disques dur, le processeur, la carte réseau et encore bien d'autre chose
Il faut juste connaitre dans quelle classe WMI récupérer les infos et hop c'est parti
attention: Pour remonter les infos distantes, il faut posséder un compte admin ( logique! )
Pour utiliser se code, passer en parametre la classe WMI a interoger et l'adresse de la machine cible
exemple : wmi("Win32_PerfRawData_Tcpip_NetworkInterface", "192.6.1.7")

Source / Exemple :


Sub wmi(ByVal classe As String, ByVal machine_cible As String)
        Dim connexionOption As ConnectionOptions = New ConnectionOptions
        Dim monManagementObject As ManagementObject
        Dim monManagementScope As System.Management.ManagementScope
        Dim objetRequete As System.Management.ObjectQuery
        Dim collectionResultat As ManagementObjectCollection
        Dim maRequete As ManagementObjectSearcher
        'parametre de connexion
        connexionOption.Username = "nom de l'utilisateur"
        connexionOption.Password = "pass de l'utilisateur"

        Try
            monManagementScope = New System.Management.ManagementScope("\\" + machine_cible + "\root\cimv2", connexionOption)
            objetRequete = New System.Management.ObjectQuery("SELECT * FROM " & classe)
            maRequete = New ManagementObjectSearcher(monManagementScope, objetRequete)
            collectionResultat = maRequete.Get
            Dim element As System.Management.PropertyData

            For Each monManagementObject In collectionResultat
                For Each element In monManagementObject.Properties
                    'chaque valeur non null de la classe WMI sera affiché sur la page
                    If Not element.Value Is Nothing Then
                        'on lit chaque élément de la classe
                        Response.Write(element.Name.ToString & ": ")
                        ' et on affiche également la valeur qu'il contient 
                        Response.Write(element.Value.ToString & "<br>")
                    End If
                Next
            Next
        Catch ex As Exception
            Response.Write("<font color='red'>ERREUR: </font>" & ex.Message)
        End Try
    End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.