Jump to content

Recommended Posts

  • 2 weeks later...
  • 1 month later...
Posted

  On 8/15/2009 at 2:13 AM, 'playlet said:

I updated the source code above - removed some unnecessary lines from the code.

Cheers, Playlet

How about before checking the status is 'enable or disable', the script should also check if the computer has the LAN adapter or not? Because I have a old notebook without LAN adapter.

Posted (edited)

  On 10/8/2009 at 5:40 PM, 'playlet said:

This could be a little tricky since I don't know what actually happens with the script on a computer that doesn't have a lan adapter.

Try this:

Dim $aNetworkInfo
$cI_CompName = @ComputerName
Global    $wbemFlagReturnImmediately = 0x10, _
        $wbemFlagForwardOnly = 0x20
_ComputerGetNetworkCards($aNetworkInfo)
$networkcard = $aNetworkInfo[1][0]

If $networkcard <> "" Then
    MsgBox (0, "True", "You have a network card installed: " & @CRLF & @CRLF & $networkcard)
Else
    MsgBox (0, "False", "No network cards !")
EndIf

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
            $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
and tell me what the MessageBox tells you.

"True"

"You have a network card installed:

RAS Asynchronization adaptor"

Actually it is not LAN adapter, this is a modem adapter.

Edited by mrmacadamia
Posted
  On 10/13/2009 at 11:26 PM, 'playlet said:

...I've changed this function to look for specific words like "lan" or "ethernet"....

You could also try filtering the WMI query to look for network devices that have an IP associated with them.
  • 2 weeks later...
Posted

I found 26 NICs on my system (9 with your filter).

OnBoard Broadcom NetXtreme 57xx Gigabit Controller

Miniport d'ordonnancement de paquets

Miniport d'ordonnancement de paquets

Connexion 1394 Carte réseau 1394

Miniport d'ordonnancement de paquets

Deterministic Network Enhancer Miniport

Deterministic Network Enhancer Miniport

Virtual Machine Network Services Driver

VirtualBox Bridged Networking Driver Miniport

So I modified your code like this :

For $i=1 to $aNetworkInfo[0][0]

If StringInStr($aNetworkInfo[$i][1],'Ethernet')>0 and $aNetworkInfo[$i][19]<>"" and StringInStr($aNetworkInfo[$i][0],"1394")=0 Then

ConsoleWrite($aNetworkInfo[$i][19]&@TAB&$aNetworkInfo[$i][0]&@CR)

$lan = 1

EndIf

Next

Only "Ethernet" Nics, Only visible in "Nework Connections" and not a "1394" adapter.

There is only one NIC left after this filter. The true one.

OnBoard Broadcom NetXtreme 57xx Gigabit Controller

I like the $aNetworkInfo[$i][19] value !!! Every people asking for a NIC called exactly "Local area connection" in their script should use your function !

Thanks for sharing.

  • 2 months later...
  • 1 month later...
  • 4 months later...
  • 4 weeks later...
Posted

Not working in Windows 7 x64. Is it supposed to?

If I run from Scite:

LAN Enable-Disable v2.3.au3 (75) : ==> Variable must be of type "Object".:

If I compile and run it:

Line 72
Error: Variable must be of type "Object".

Thanks for all your work.

Posted

  On 8/29/2010 at 9:38 PM, 'lee321987 said:

Not working in Windows 7 x64. Is it supposed to?

If I run from Scite:

LAN Enable-Disable v2.3.au3 (75) : ==> Variable must be of type "Object".:

If I compile and run it:

Line 72
Error: Variable must be of type "Object".

Thanks for all your work.

I got the same error, then tried compiling it as 64-bit - fixed the problem for me.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...