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