Meine Frage / Mein Problem
Bei der Netzwerkinformation im rechten oberen Bereich wird alles korrekt angezeigt, solange nur eine Internetverbindung mit einem Adapter besteht.
Ist zum BSP jetzt ein Rechner mit Lan und Wlan verbunden damit er mit 2 Netzten verbunden ist sieht es nicht mehr ordentlich aus.
was würdet ihr mir empfehlen
möglich wäre ein tab oder ähnliches ich lasse mich überraschen
C
#cs###################################################################################################################################################################
##################################################################################################################################################################
##################################################################################################################################################################
####### #######
####### Author: Thomas Zickert #######
####### Script Funktion: #######
####### Netzwerkinfo + Zugriff Diagnose #######
####### #######
####### 26.06.17 #######
####### #######
##################################################################################################################################################################
##################################################################################################################################################################
#ce###################################################################################################################################################################
#include <Array.au3>
$iTimer = TimerInit()
;$aAdapter = _Win32NetworkAdapter()
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#cs#########################################################################################################
############################################################################################################
### ###
### Funktionen ###
### ###
############################################################################################################
#ce#########################################################################################################
#CS##### Mac Ermittlung #####
#ce############################## ausgabe = $strmac
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colAdapters = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
$strmac = ''
For $objAdapter In $colAdapters
$strmac &= $objAdapter.MACAddress & @LF
Next
;MsgBox(512 + 1 +4096 + 64 + 8192 + 65536,"Netzwerkinfo",$strmac)
#CS##### Verbindungsart #####
#ce############################## ;ausgabe = $stradapter
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapter WHERE Netconnectionstatus = 2', 'WQL', 0x30)
$stradapter = ''
$strlan = ''
$strwlan = ''
For $objItem In $colItems
$stradapter &= $objItem.NetConnectionID
If StringRegExp($stradapter, "^WLANEthernet$", 0) Then
$strwlan = "Verbunden"
$strlan = "Verbunden"
Else
If StringRegExp($stradapter, "^Ethernet$", 0) Then
$strlan = "Verbunden"
Else
$strlan = "nicht Verbunden"
EndIf
If StringRegExp($stradapter, "^WLAN$", 0) Then
$strwlan = "Verbunden"
Else
$strwlan = "nicht Verbunden"
EndIf
EndIf
Next
ConsoleWrite($stradapter)
;MsgBox(512 + 1 + 4096 + 64 + 8192 + 65536, "Netzwerkinfo", $stradapter)
#CS##### DHCP Server IP #####
#ce############################## ;ausgabe = $strdhcpserver
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colItems2 = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration', 'WQL', 0x30)
$strdhcpserver = ''
For $objItem2 In $colItems2
$strdhcpserver &= $objItem2.DHCPServer
Next
;MsgBox(0,"Netzwerkinfo",$strdhcpserver)
#CS##### DHCP Server konfiguration #####
#ce######################################### ;ausgabe = $srtdhcpstatus
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colItems2 = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration', 'WQL', 0x30)
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapter WHERE Netconnectionstatus = 2', 'WQL', 0x30)
$srtdhcpstatus = ''
For $objItem In $colItems
For $objItem2 In $colItems2
If $objItem.Caption = $objItem2.Caption Then
If $objItem2.IPEnabled = -1 Then
If $objItem2.DHCPEnabled = -1 Then
$srtdhcpstatus &= 'von DHCP zugewiesen'
Else
$srtdhcpstatus &= 'Manuell konfiguriert'
EndIf
EndIf
EndIf
Next
Next
; MsgBox(0,"Netzwerkinfo",$srtdhcpstatus)
#CS##### IP Gateway #########
#ce############################## ;ausgabe = $strgateway
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colItems2 = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration', 'WQL', 0x30)
$strgateway = ''
For $objItem2 In $colItems2
$strgateway &= $objItem2.DefaultIPGateway(0)
Next
;MsgBox(0,"Netzwerkinfo",$strgateway)
#CS##### IP Adresse #########
#ce############################## ;ausgabe = $strip
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colItems2 = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration', 'WQL', 0x30)
$strip = ''
For $objItem2 In $colItems2
$strip &= $objItem2.IPAddress(0)
Next
;MsgBox(0,"Netzwerkinfo",$strip)
#CS##### DC1 Erreichbar? #####
#ce###############################
Opt("TCPTimeout", 3000)
TCPStartup()
$szIPADDRESS = "192.168.100.1"
$pingzeit = Ping($szIPADDRESS, 1000)
If $pingzeit <> 0 Then ;wenn Rechner per ping erreichbar, dann
$srtantwortdc1 = "Erreichbar"
Else
$srtantwortdc1 = "nicht Erreichbar"
EndIf
;MsgBox (0," ", $srtantwortdc1)
#CS##### DC2 Erreichbar? #####
#ce###############################
Opt("TCPTimeout", 3000)
TCPStartup()
$szIPADDRESS = "192.168.100.2"
$pingzeit = Ping($szIPADDRESS, 1000)
If $pingzeit <> 0 Then ;wenn Rechner per ping erreichbar, dann
$srtantwortdc2 = "Erreichbar"
Else
$srtantwortdc2 = "nicht Erreichbar"
EndIf
#CS##### xserve Erreichbar? #####
#ce##################################
Opt("TCPTimeout", 3000)
TCPStartup()
$szIPADDRESS = "192.168.100.100"
$pingzeit = Ping($szIPADDRESS, 1000)
If $pingzeit <> 0 Then ;wenn Rechner per ping erreichbar, dann
$srtantwortxserve = "Erreichbar"
Else
$srtantwortxserve = "nicht Erreichbar"
EndIf
#CS##### Datev-Server Erreichbar? #####
#ce##################################
Opt("TCPTimeout", 3000)
TCPStartup()
$szIPADDRESS = "192.168.100.150"
$pingzeit = Ping($szIPADDRESS, 1000)
If $pingzeit <> 0 Then ;wenn Rechner per ping erreichbar, dann
$srtantwortdatev = "Erreichbar"
Else
$srtantwortdatev = "nicht Erreichbar"
EndIf
#CS##### ZEUS-Server Erreichbar? #####
#ce#######################################
Opt("TCPTimeout", 3000)
TCPStartup()
$szIPADDRESS = "192.168.100.46"
$pingzeit = Ping($szIPADDRESS, 1000)
If $pingzeit <> 0 Then ;wenn Rechner per ping erreichbar, dann
$srtantwortzeus = "Erreichbar"
Else
$srtantwortzeus = "nicht Erreichbar"
EndIf
#CS##### Easylog-Server Erreichbar? #####
#ce##########################################
Opt("TCPTimeout", 3000)
TCPStartup()
$szIPADDRESS = "192.168.100.50"
$pingzeit = Ping($szIPADDRESS, 1000)
If $pingzeit <> 0 Then ;wenn Rechner per ping erreichbar, dann
$srtantwortelog = "Erreichbar"
Else
$srtantwortelog = "nicht Erreichbar"
EndIf
#CS##### Haupt-DNS-Server Erreichbar? #####
#ce##########################################
Opt("TCPTimeout", 3000)
TCPStartup()
$szIPADDRESS = "192.168.100.1"
$pingzeit = Ping($szIPADDRESS, 1000)
If $pingzeit <> 0 Then ;wenn Rechner per ping erreichbar, dann
$srtantwortdns1 = "Erreichbar"
Else
$srtantwortdns1 = "nicht Erreichbar"
EndIf
#CS##### GBD Chat Erreichbar? #####
#ce####################################
Opt("TCPTimeout", 3000)
TCPStartup()
$szIPADDRESS = "192.168.100.14"
$pingzeit = Ping($szIPADDRESS, 1000)
If $pingzeit <> 0 Then ;wenn Rechner per ping erreichbar, dann
$srtantwortchat = "Erreichbar"
Else
$srtantwortchat = "nicht Erreichbar"
EndIf
#CS##### Google Erreichbar? #####
#ce##################################
Opt("TCPTimeout", 3000)
TCPStartup()
$szIPADDRESS = "8.8.8.8"
$pingzeit = Ping($szIPADDRESS, 1000)
If $pingzeit <> 0 Then ;wenn Rechner per ping erreichbar, dann
$srtantwortgoogle = "Erreichbar"
Else
$srtantwortgoogle = "nicht Erreichbar"
EndIf
#Region ### START Koda GUI section ### Form=c:\users\zickert.thomas\documents\diagnose.kxf
$Fenster = GUICreate("Netzwerk Diagnose", 1306, 938, 808, 240)
GUISetFont(14, 400, 0, "Arial")
$Gereateinfo = GUICtrlCreateGroup("Geräte Info", 24, 24, 425, 169)
GUICtrlSetFont(-1, 20, 400, 0, "Arial")
$Rechnernamefrage = GUICtrlCreateLabel("Rechnername:", 40, 80, 182, 36)
$Rechnernameant = GUICtrlCreateLabel(@ComputerName, 210, 80, 85, 36)
$Windowsver = GUICtrlCreateLabel("Windows Version:", 40, 136, 223, 36)
$winverantwort = GUICtrlCreateLabel(@OSVersion, 210, 136, 85, 36)
;tab2
$Adapterinfo = GUICtrlCreateGroup("Adapter Info", 24, 224, 425, 193)
GUICtrlSetFont(-1, 20, 400, 0, "Arial")
$Lan = GUICtrlCreateLabel("LAN:", 40, 288, 64, 36)
$LA = GUICtrlCreateIcon("C:\Users\zickert.thomas\Downloads\lan_icon.ico", -1, 112, 280, 49, 49)
$lanantwort = GUICtrlCreateLabel($strlan, 208, 288, 135, 36)
$Wlanfrage = GUICtrlCreateLabel("WLAN:", 40, 344, 92, 36)
$Wlan = GUICtrlCreateIcon("C:\Users\zickert.thomas\Downloads\wlan-icon-6.ico", -1, 136, 336, 49, 49)
$wlanantwort = GUICtrlCreateLabel($strwlan, 208, 344, 205, 36)
;tab3
$Netzwekinfo = GUICtrlCreateGroup("Netzwerkinfo", 504, 24, 777, 393)
GUICtrlSetFont(-1, 20, 400, 0, "Arial")
$ipadresse = GUICtrlCreateLabel("IP Adresse:", 520, 80, 145, 36)
$macadresse = GUICtrlCreateLabel("MAC Adresse:", 520, 136, 181, 36)
$adresstyp = GUICtrlCreateLabel("Adresstyp:", 520, 192, 134, 36)
$dhcpserver = GUICtrlCreateLabel("DHCP-Server:", 520, 248, 177, 36)
$standardgateway = GUICtrlCreateLabel("DHCP-Server IP:", 520, 304, 223, 36)
$SSID = GUICtrlCreateLabel("Standardgateway:", 520, 360, 476, 36)
$ipantwort = GUICtrlCreateLabel($strip, 765, 79, 145, 36)
$macantwort = GUICtrlCreateLabel($strmac, 765, 135, 944, 56)
$Adapterantwort = GUICtrlCreateLabel($srtdhcpstatus, 765, 191, 445, 36)
$dhcpantwort = GUICtrlCreateLabel(@LogonDNSDomain & @LogonServer, 765, 247, 545, 36)
$standardgatewa = GUICtrlCreateLabel($strdhcpserver, 765, 303, 116, 1036)
$ssidantwort = GUICtrlCreateLabel($strgateway, 765, 359, 116, 36)
;tab4
$serverdiagnose = GUICtrlCreateGroup("Server", 24, 496, 577, 393, -1, $WS_EX_TRANSPARENT)
GUICtrlSetFont($serverdiagnose, 20, 400, 0, "Arial")
$DC1 = GUICtrlCreateLabel("Domain Controller 1:", 40, 552, 254, 36)
$DC2 = GUICtrlCreateLabel("Domain Controller 2:", 40, 608, 254, 36)
$Xserve = GUICtrlCreateLabel("XSERVE:", 40, 664, 120, 36)
$Datev = GUICtrlCreateLabel("Datev Server:", 40, 720, 170, 36)
$Zeus = GUICtrlCreateLabel("Zeus Server:", 40, 776, 160, 36)
$Easylog = GUICtrlCreateLabel("Easylog Server:", 40, 832, 196, 36)
$Dc1antwort = GUICtrlCreateLabel($srtantwortdc1, 316, 552, 126, 36)
$dc2antwort = GUICtrlCreateLabel($srtantwortdc2, 316, 608, 126, 36)
$xserveantwort = GUICtrlCreateLabel($srtantwortxserve, 316, 664, 126, 36)
$datevantwort = GUICtrlCreateLabel($srtantwortdatev, 316, 720, 126, 36)
$zeusantwort = GUICtrlCreateLabel($srtantwortzeus, 316, 776, 192, 36)
$easylogantwort = GUICtrlCreateLabel($srtantwortelog, 316, 832, 126, 36)
$Netwerkdiagnose = GUICtrlCreateLabel("Netzwerk Diagnose", 480, 448, 239, 36)
;tab5
$DNS = GUICtrlCreateGroup("DNS", 664, 496, 617, 393)
GUICtrlSetFont(-1, 20, 400, 0, "Arial")
$hauptdns = GUICtrlCreateLabel("Haupt DNS Server:", 680, 552, 236, 36)
$GBDCHAT = GUICtrlCreateLabel("GBD Chat:", 680, 608, 137, 36)
$Goofle = GUICtrlCreateLabel("Google:", 680, 664, 99, 36)
$Label1 = GUICtrlCreateLabel($srtantwortdns1, 944, 552, 161, 36)
$gbdhactantwort = GUICtrlCreateLabel($srtantwortchat, 944, 608, 236, 36)
$googleantwort = GUICtrlCreateLabel($srtantwortgoogle, 944, 664, 236, 36)
;tab6
$INFO = GUICtrlCreateGroup("", 24, 888, 1257, 41)
$Label2 = GUICtrlCreateLabel("Autor: Thomas Zickert | © 2017 ", 48, 904, 447, 21)
GUICtrlSetFont(-1, 11, 400, 0, "Arial")
$Label3 = GUICtrlCreateLabel("Version 1.4", 1176, 904, 84, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
#cs
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 1115, 167, 192, 124)
$ListView1 = GUICtrlCreateListView("Hersteller |Name|Adapter-Typ|Kennung|MAC Adresse|Adresstyp|DHCP-Server|IP erhalten|IP läuft ab|IP-Adresse|Subnetzmaske|Standardgateway", 8, 8, 1098, 150)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 100)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 150)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 70)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 60)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 130)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 60)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 6, 80)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 7, 70)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 8, 60)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 9, 100)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 10, 100)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 11, 100)
For $i = 1 To UBound($aAdapter) - 1
$sString = ""
For $j = 0 To UBound($aAdapter, 2) - 1
$sString &= $aAdapter[$i][$j] & "|"
Next
$sString = StringTrimRight($sString, 1)
GUICtrlCreateListViewItem($sString, $ListView1)
Next
GUISetState(@SW_SHOW)
Func _Win32NetworkAdapter($strComputer = 'Localhost')
Local $aReturn[1][12] = [[ _
'Hersteller:', 'Name:', 'Adapter-Typ:', 'Kennung:', _
'MAC-Adresse:', 'Adresstyp:', 'DHCP-Server:', 'IP erhalten:', _
'IP läuft ab:', 'IP-Adresse:', 'Subnetzmaske:', 'Standardgateway:']]
Local $x = 0, $objWMIService, $colItems
$objWMIService = ObjGet('winmgmts:\\' & $strComputer & '\')
If Not IsObj($objWMIService) Then Return SetError(1, 0, 0)
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapter WHERE Netconnectionstatus = 2', 'WQL', 0x30)
If Not IsObj($colItems) Then Return SetError(2, 0, 0)
For $objItem In $colItems
$x += 1
ReDim $aReturn[$x + 1][12]
$aReturn[$x][0] = $objItem.Manufacturer
$aReturn[$x][1] = $objItem.Name
$aReturn[$x][2] = $objItem.AdapterType
$aReturn[$x][3] = $objItem.NetConnectionID
$aReturn[$x][4] = $objItem.MACAddress
$colItems2 = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration', 'WQL', 0x30)
If IsObj($colItems2) Then
For $objItem2 In $colItems2
If $objItem.Caption = $objItem2.Caption Then
If $objItem2.IPEnabled = -1 Then
If $objItem2.DHCPEnabled = -1 Then
$aReturn[$x][5] = 'von DHCP zugewiesen'
$aReturn[$x][6] = $objItem2.DHCPServer
$aReturn[$x][7] = _WMIDateStringToDate($objItem2.DHCPLeaseObtained)
$aReturn[$x][8] = _WMIDateStringToDate($objItem2.DHCPLeaseExpires)
Else
$aReturn[$x][5] = 'Manuell konfiguriert'
EndIf
$aReturn[$x][9] = $objItem2.IPAddress(0)
$aReturn[$x][10] = $objItem2.IPSubnet(0)
$aReturn[$x][11] = $objItem2.DefaultIPGateway(0)
EndIf
EndIf
Next
EndIf
Next
Return $aReturn
EndFunc ;==>_Win32NetworkAdapter
Func _WMIDateStringToDate($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 ;==>_WMIDateStringToDate
#ce
Alles anzeigen