Hey Leute,
hab im Forum noch nichts passendes gefunden darum ein neues Thema. Ich möchte gerne per Autoit eine Auflistung der sich im Netzwerkbefindlichen PCs machen, nur leider hab ich noch keine Func gefunden die das so realisiert wie ich das will. Ob einer speziell online ist ja, nur hilftm ir das nichts wenn sich der Name ändern kann, bzw neue PCs hinzukommen. Daher hätte ich gern ein script das im netzwerk nach PCs sucht und diese mit Netzwerknamen und IP auflistet.
Wenn wer ne Idee hat wie das umzusetzen ist nur her damit.
Netzwerk PCs auslesen
-
- [ gelöst ]
-
Black Viper -
4. Juni 2010 um 00:11 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Ich denke, Du suchst das hier: Netview in AutoIt
-
Ich hatte mir früher auch mal eins geschrieben, allerdings nicht mit Netview, sondern mit anpingen der Adressen. Das dauert zwar etwas, ist aber trotzdem effektiv:
Spoiler anzeigen
[autoit]#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
[/autoit]
#AutoIt3Wrapper_icon=Pinglan.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <iNet.au3>
#Include <GuiComboBox.au3>
#include <ComboConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
$n = ""
TraySetIcon("Shell32.dll", -19)
While FileExists(@ScriptDir & "/IP"&$n&".txt")
$n = $n+1
WEnd
$ipstart = InputBox("IP Start", "Z.B. 192.168.4.0", "192.168.0.0")
$ipstopp = InputBox("IP Ende", "Z.B. 192.168.5.91", "192.168.0.255")
$ipstart = StringSplit($ipstart, ".")
$ipstopp = StringSplit($ipstopp, ".")
If $ipstart[0] <> 4 Then
MsgBox(16, "Fehler", "Keine gültige Start-Ip-Adresse eingegeben")
EndIf
If $ipstopp[0] <> 4 Then
MsgBox(16, "Fehler", "Keine gültige End-Ip-Adresse eingegeben")
EndIf
$timeout = InputBox("Timeout", "Zeit um auf Antwort zu warten", "50")
$a = 0
FileWrite(@ScriptDir & "/IP"&$n&".txt", "Starte Suche: " & @HOUR & ":" & @MIN & ":" & @SEC & @CRLF)
FileWrite(@ScriptDir & "/IP"&$n&".txt", "Start-Ip = "& $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] &@CRLF)
FileWrite(@ScriptDir & "/IP"&$n&".txt", "End-Ip = " & $ipstopp[1]&"."&$ipstopp[2]&"."&$ipstopp[3]&"."&$ipstopp[4] & @CRLF)
Do
;~ ToolTip($ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4], 0, 0, $ipstopp[1]&"."&$ipstopp[2]&"."&$ipstopp[3]&"."&$ipstopp[4])
$ping = Ping($ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4], $timeout)
If $ping > 0 Then
$rip = $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4]
TCPStartup()
$name = _TCPIpToName($rip)
If @error = 0 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & @CRLF & "=============================" & @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Ping: " & $ping & @CRLF & "Hostname: " & $name & @CRLF & "=============================" & @CRLF)
EndIf
If @error = 1 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & @CRLF & "=============================" & @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Ping: " & $ping & @CRLF & "Hostname: " & "inet_addr DllCall fehlgeschlagen" & @CRLF & "=============================" & @CRLF)
EndIf
If @error = 2 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & @CRLF & "=============================" & @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Ping: " & $ping & @CRLF & "Hostname: " & "inet_addr fehlgeschlagen" & @CRLF & "=============================" & @CRLF)
EndIf
If @error = 3 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & @CRLF & "=============================" & @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Ping: " & $ping & @CRLF & "Hostname: " & "gethostbyaddr DllCall fehlgeschlagen" & @CRLF & "=============================" & @CRLF)
EndIf
If @error = 4 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & @CRLF & "=============================" & @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Ping: " & $ping & @CRLF & "Hostname: " & "gethostbyaddr fehlgeschlagen, WSAGetLastError = @Extended" & @CRLF & "=============================" & @CRLF)
EndIf
If @error = 5 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & @CRLF & "=============================" & @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Ping: " & $ping & @CRLF & "Hostname: " & "gethostbyaddr fehlgeschlagen, WSAGetLastError fehlgeschlagen" & @CRLF & "=============================" & @CRLF)
EndIf
If @error = 6 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & @CRLF & "=============================" & @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Ping: " & $ping & @CRLF & "Hostname: " & "strlen/sZStringRead fehlgeschlagen" & @CRLF & "=============================" & @CRLF)
EndIf
If @error = 7 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & @CRLF & "=============================" & @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Ping: " & $ping & @CRLF & "Hostname: " & "Fehler beim Lesen des Aliases Array" & @CRLF & "=============================" & @CRLF)
EndIf
TCPShutdown()
$a += 1
TrayTip("IP Lan", $a & " Router/Computer gefunden", 0, 1)
EndIf
If $ping = 0 Then
If @error = 1 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Der Computer ist offline")
EndIf
If @error = 2 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Der Computer ist nicht erreichbar")
EndIf
If @error = 3 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Falsche Adresse")
EndIf
If @error = 4 Then
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & "IP: " & $ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4] & @CRLF & "Andere Fehler")
EndIf
EndIf
$ipstart[4] += 1
If $ipstart[4] > 255 Then
$ipstart[3] += 1
$ipstart[4] = 0
If $ipstart[3] > 255 Then
$ipstart[2] += 1
$ipstart[3] = 0
If $ipstart[2] > 255 Then
$ipstart[1] += 1
$ipstart[2] = 0
If $ipstart[1] > 255 Then
MsgBox(16, "Fehler", "Maximale IP-Range überschritten:"&@CRLF&$ipstart[1]&"."&$ipstart[2]&"."&$ipstart[3]&"."&$ipstart[4])
EndIf
EndIf
EndIf
EndIf
Until $ipstart[1] = $ipstopp[1] And $ipstart[2] = $ipstopp[2] And $ipstart[3] = $ipstopp[3] And $ipstart[4] = $ipstopp[4]
FileWrite(@ScriptDir & "/IP"&$n&".txt", @CRLF & @CRLF & "Suche beendet: " & @HOUR & ":" & @MIN & ":" & @SEC)
MsgBox(0, "Vorgang abgeschlossen", "IP Log erstellt")PS: Ja ich weiß, einiges hätte man noch intelligenter schreiben können, das Script stammt allerdings aus meiner Anfangszeit^^
-
Danke, genau sowas hab ich gesucht