Dim $aNetworkInfo
$cI_CompName = @ComputerName
Global $wbemFlagReturnImmediately = 0x10, _
$wbemFlagForwardOnly = 0x20
$lan = 0
_ComputerGetNetworkCards
($aNetworkInfo)
$networkcard = $aNetworkInfo[0][0]
For $i = 1 to $aNetworkInfo[0][0]
If StringInStr ($aNetworkInfo[$i][19], "Local Area Connection") And StringInStr ($aNetworkInfo[$i][0], "Ethernet") Then
;MsgBox (0, "", $aNetworkInfo[$i][0] & @CRLF & $aNetworkInfo[$i][19])
$lan = 1
ElseIf StringInStr ($aNetworkInfo[$i][19], "Wireless Network Connection") And StringInStr ($aNetworkInfo[$i][0], "WLAN") Then
;MsgBox (0, "", $aNetworkInfo[$i][0] & @CRLF & $aNetworkInfo[$i][19])
$lan = 1
ElseIf StringInStr ($aNetworkInfo[$i][0], "Ethernet") And $aNetworkInfo[$i][19] <> "" And Not StringInStr ($aNetworkInfo[$i][0], "1394") Then
;MsgBox (0, "", $aNetworkInfo[$i][0] & @CRLF & $aNetworkInfo[$i][19])
$lan = 1
EndIf
Next
If $lan = 1 Then
MsgBox (0, "True", "Yes, You have a network card installed !")
ElseIf $lan = 0 Then
MsgBox (0, "False", "No, No network cards installed !")
EndIf
;===============================================================================
; Description: Returns the Network information in an array.
; Author: Jarvis J. Stubblefield (JSThePatriot) <a href='http://www.vortexrevolutions.com/' class='bbc_url' title='External link' rel='nofollow external'>http://www.vortexrevolutions.com/</a>
; Parameter(s): $aNetworkInfo - By Reference - Network Information array.
; Requirement(s): None
; Return Value(s): On Success - Returns array of Network Information.
; $aNetworkInfo[0][0] = Number of Network Cards
; $aNetworkInfo[$i][0] = Name ($i starts at 1)
; $aNetworkInfo[$i][1] = Adapter Type
; $aNetworkInfo[$i][2] = Adapter Type ID
; $aNetworkInfo[$i][3] = Auto Sense
; $aNetworkInfo[$i][4] = Description
; $aNetworkInfo[$i][5] = Availability
; $aNetworkInfo[$i][6] = Config Manager Error Code
; $aNetworkInfo[$i][7] = Config Manager User Config
; $aNetworkInfo[$i][8] = Creation Class Name
; $aNetworkInfo[$i][9] = Device ID
; $aNetworkInfo[$i][10] = Error Cleared
; $aNetworkInfo[$i][11] = Error Description
; $aNetworkInfo[$i][12] = Index
; $aNetworkInfo[$i][13] = Installed
; $aNetworkInfo[$i][14] = Last Error Code
; $aNetworkInfo[$i][15] = MAC Address
; $aNetworkInfo[$i][16] = Manufacturer
; $aNetworkInfo[$i][17] = Max Number Controlled
; $aNetworkInfo[$i][18] = Max Speed
; $aNetworkInfo[$i][19] = Net Connection ID
; $aNetworkInfo[$i][20] = Net Connection Status
; $aNetworkInfo[$i][21] = Network Addresses
; $aNetworkInfo[$i][22] = Permanent Address
; $aNetworkInfo[$i][23] = PNP Device ID
; $aNetworkInfo[$i][24] = Power Management Capabilities
; $aNetworkInfo[$i][25] = Power Management Supported
; $aNetworkInfo[$i][26] = Product Name
; $aNetworkInfo[$i][27] = Service Name
; $aNetworkInfo[$i][28] = Speed
; $aNetworkInfo[$i][29] = Status
; $aNetworkInfo[$i][30] = Status Info
; $aNetworkInfo[$i][31] = System Creation Class Name
; $aNetworkInfo[$i][32] = System Name
; $aNetworkInfo[$i][33] = Time Of Last Reset
; On Failure - @error = 1 and Returns 0
; @extended = 1 - Array contains no information
; 2 - $colItems isnt an object
; Author(s): Jarvis Stubblefield (support "at" vortexrevolutions "dot" com)
; Note(s):
;===============================================================================
Func _ComputerGetNetworkCards
(ByRef $aNetworkInfo)
Local $colItems, $objWMIService, $objItem
Dim $aNetworkInfo[1][34], $i = 1
$objWMIService = ObjGet("winmgmts:\\" & $cI_Compname & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) Then
For $objItem In $colItems
ReDim $aNetworkInfo[UBound($aNetworkInfo) + 1][34]
$aNetworkInfo[$i][0] = $objItem.Name
$aNetworkInfo[$i][1] = $objItem.AdapterType
$aNetworkInfo[$i][2] = $objItem.AdapterTypeId
$aNetworkInfo[$i][3] = $objItem.AutoSense
$aNetworkInfo[$i][4] = $objItem.Description
$aNetworkInfo[$i][5] = $objItem.Availability
$aNetworkInfo[$i][6] = $objItem.ConfigManagerErrorCode
$aNetworkInfo[$i][7] = $objItem.ConfigManagerUserConfig
$aNetworkInfo[$i][8] = $objItem.CreationClassName
$aNetworkInfo[$i][9] = $objItem.DeviceID
$aNetworkInfo[$i][10] = $objItem.ErrorCleared
$aNetworkInfo[$i][11] = $objItem.ErrorDescription
$aNetworkInfo[$i][12] = $objItem.Index
$aNetworkInfo[$i][13] = $objItem.Installed
$aNetworkInfo[$i][14] = $objItem.LastErrorCode
$aNetworkInfo[$i][15] = $objItem.MACAddress
$aNetworkInfo[$i][16] = $objItem.Manufacturer
$aNetworkInfo[$i][17] = $objItem.MaxNumberControlled
$aNetworkInfo[$i][18] = $objItem.MaxSpeed
$aNetworkInfo[$i][19] = $objItem.NetConnectionID
$aNetworkInfo[$i][20] = $objItem.NetConnectionStatus
$aNetworkInfo[$i][21] = $objItem.NetworkAddresses(0)
$aNetworkInfo[$i][22] = $objItem.PermanentAddress
$aNetworkInfo[$i][23] = $objItem.PNPDeviceID
$aNetworkInfo[$i][24] = $objItem.PowerManagementCapabilities(0)
$aNetworkInfo[$i][25] = $objItem.PowerManagementSupported
$aNetworkInfo[$i][26] = $objItem.ProductName
$aNetworkInfo[$i][27] = $objItem.ServiceName
$aNetworkInfo[$i][28] = $objItem.Speed
$aNetworkInfo[$i][29] = $objItem.Status
$aNetworkInfo[$i][30] = $objItem.StatusInfo
$aNetworkInfo[$i][31] = $objItem.SystemCreationClassName
$aNetworkInfo[$i][32] = $objItem.SystemName
$aNetworkInfo[$i][33] = __StringToDate
($objItem.TimeOfLastReset)
$i += 1
Next
$aNetworkInfo[0][0] = UBound($aNetworkInfo) - 1
If $aNetworkInfo[0][0] < 1 Then
SetError(1, 1, 0)
EndIf
Else
SetError(1, 2, 0)
EndIf
EndFunc ;_ComputerGetNetworkCards
Func __StringToDate
($dtmDate)
Return (StringMid($dtmDate, 5, 2) & "/" & _
StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
& " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
EndFunc ;__StringToDate Function created by SvenP Modified by JSThePatriot