[Func] _GetNicInfos (WMI) Informations cartes réseau

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

[Func] _GetNicInfos (WMI) Informations cartes réseau

#1

Message par Tlem »

Voici une fonction que je vous livre tel quelle.
Mes besoins était la récupération du nom des interfaces réseau (PCI et USB), de leur état et de leur ID PNP.

Vous avez en commentaire la liste des informations qui sont récupérables.
A vous de choisir et de mettre en forme ce dont vous avez besoin.

Code : Tout sélectionner

;#include <array.au3>
;$NicList = _GetNICInfos()
;If Not @error Then _ArrayDisplay($NicList, "")

Func _GetNICInfos()
    Local $wbemFlagReturnImmediately = 0x10
    Local $wbemFlagForwardOnly = 0x20
    Local $colItems = ''
    Local $Output = ''
    Local $NBList = 1
    Local $aNICList[$NBList][3]
    $aNICList[0][0] = "Name"
    $aNICList[0][1] = "State"
    $aNICList[0][2] = "PNPDeviceID"

    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter", "WQL", _
            $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

    ; #####################################################################
    ; List Of Object for Win32_NetworkAdapter :
    ; AdapterType               : $objItem.AdapterType
    ; AdapterTypeId             : $objItem.AdapterTypeId
    ; AutoSense                 : $objItem.AutoSense
    ; Availability              : $objItem.Availability
    ; Caption                   : $objItem.Caption
    ; ConfigManagerErrorCode    : $objItem.ConfigManagerErrorCode
    ; ConfigManagerUserConfig   : $objItem.ConfigManagerUserConfig
    ; CreationClassName         : $objItem.CreationClassName
    ; Description               : $objItem.Description
    ; DeviceID                  : $objItem.DeviceID
    ; ErrorCleared              : $objItem.ErrorCleared
    ; ErrorDescription          : $objItem.ErrorDescription
    ; Index                     : $objItem.Index
    ; Installed                 : $objItem.Installed
    ; LastErrorCode             : $objItem.LastErrorCode
    ; MACAddress                : $objItem.MACAddress
    ; Manufacturer              : $objItem.Manufacturer
    ; MaxNumberControlled       : $objItem.MaxNumberControlled
    ; MaxSpeed                  : $objItem.MaxSpeed
    ; Name                      : $objItem.Name
    ; NetConnectionID           : $objItem.NetConnectionID
    ; NetConnectionStatus       : $objItem.NetConnectionStatus
    ; NetworkAddresses          : $strNetworkAddresses
    ; PermanentAddress          : $objItem.PermanentAddress
    ; PNPDeviceID               : $objItem.PNPDeviceID
    ; PowerManagementCapabilities   : $strPowerManagementCapabilities
    ; PowerManagementSupported  : $objItem.PowerManagementSupported
    ; ProductName               : $objItem.ProductName
    ; ServiceName               : $objItem.ServiceName
    ; Speed                     : $objItem.Speed
    ; Status                    : $objItem.Status
    ; StatusInfo                : $objItem.StatusInfo
    ; SystemCreationClassName   : $objItem.SystemCreationClassName
    ; SystemName                : $objItem.SystemName
    ; #####################################################################


    If IsObj($colItems) Then
        For $objItem In $colItems
            $PNPDev = $objItem.PNPDeviceID
            If StringLeft($PNPDev, 3) = "PCI" Or StringLeft($PNPDev, 3) = "USB" Then
                ReDim $aNICList[$NBList + 1][3]
                $aNICList[$NBList][0] = $objItem.Name
                $aNICList[$NBList][1] = $objItem.NetConnectionStatus
                $aNICList[$NBList][2] = $objItem.PNPDeviceID
                $NBList += 1
            EndIf
        Next
    Else
        SetError(1)
        $aNICList = ''
    EndIf
        Return $aNICList
EndFunc   ;==>_GetNICInfos
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre