Hey Leute, kurze Frage:
Ist es machbar per Script den Status der Netzwerk, z.b. lan oder wlan Verbindung zu erfragen? also verbunden oder nicht verbunden?
gruß timo
Hey Leute, kurze Frage:
Ist es machbar per Script den Status der Netzwerk, z.b. lan oder wlan Verbindung zu erfragen? also verbunden oder nicht verbunden?
gruß timo
Verbunden? Womit?
Mit dem Internet? Dann benutze _GetIP() oder mach eine Namensauflösung (z.B. von Google) per TCPNameToIP. Wenn die Funktionen erfolgreich waren, dann bist Du mit dem Internet verbunden.
Hab da was im englischen Forum gefunden und etwas abgeändert...
#include <array.au3>
Dim $aNetworkInfo
$cI_CompName = @ComputerName
Global $wbemFlagReturnImmediately = 0x10, _
$wbemFlagForwardOnly = 0x20
_ComputerGetNetworkCards($aNetworkInfo)
_ArrayDisplay($aNetworkInfo)
; Spalte 20 zeigt den Status des jeweiligen Adapters. Details zu den status codes findest du hier:
; http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx
$aSearch = _ArrayFindAll($aNetworkInfo,2,0,0,1,0,20)
For $i=0 to UBound($aSearch)-1
ConsoleWrite("Verbundener Adapter gefunden: " & $aNetworkInfo[$aSearch[$i]][0] & @CRLF)
Next
$aSearch = _ArrayFindAll($aNetworkInfo,7,0,0,1,0,20)
For $i=0 to UBound($aSearch)-1
ConsoleWrite("Adapter ohne LAN Kabel gefunden: " & $aNetworkInfo[$aSearch[$i]][0] & @CRLF)
Next
;===============================================================================
; Description: Returns the Network information in an array.
; Author: Jarvis J. Stubblefield (JSThePatriot) https://autoit.de/"http://w…ions.com/"
; 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