IP Scanner mit PowerSHELL

Posted on: 17. April 2018
Wir stellen uns mal einen IP Scanner mit PowerSHELL zusammen. So kannst du deine gewünschte IP Adresse auswählen und danach wir das von dir eingestellte Subnetz gescannt nach Online und Offline Geräten. Damit bekommst du eine Übersicht welche Geräte in deinem Netzwerk gerade verfügbar sind oder eben nicht.

Hier der Code aus dem Youtube-Video. Die Vorgehensweise und Bemerkungen findest du direkt als Kommentare (#Grün) im Code. So wird er dir ebenfalls in der PowerSHELL ISE angezeigt werden.
——————————————–
# Array für alle pingbaren Geräte            
$alleOnlineGeraete = @()            
            
# Array für alle NICHT pingbaren Geräte            
$alleOfflineGeraete = @()            
            
# Ganzes Netzwerksegment von 1 bis 255            
$alleIPs = (1..255)            
            
# Auswahl der Netzwerkkarte bzw. IP Adresse die für den Ping verwendet werden soll            
$gewaehlteIP = Get-NetIPAddress | where {$_.IPAddress -like "192.168.*" -or $_.IPAddress -like "10.*" `
-or $_.IPAddress -like "172.16.*"} | Sort-Object InterfaceIndex | select IPAddress |  Out-GridView -Title "Wähle die Netzwerkkarte" -PassThru            
            
# Teilen der gewählten IP Adresse, damit nur die ersten 3 Oktetts verwendet werden            
$splitIP = $gewaehlteIP.IPAddress.Split(".")[0..2] -join "."            
            
# Am Ende der 3 Oktetts noch ein Punkt (.) anhängen            
$splitIP += "."            
            
# Testen der Verbindung aller IPs im Bereich $alleIPs            
foreach ($ip in $alleIPs)            
{            
    # Generieren der IP Adressen bzw. des letzten Oktetts und zusammensetzen            
    $testIP = $splitIP + $ip            
            
    # Testen der Verbindung mit 2 Pings (-Count 2) mit Rückgabe $true oder $false (-Quiet)            
    if (Test-Connection -Count 1 -BufferSize 2 -Quiet $testIP)             
        {            
            # Schreiben bei Erfolg            
            Write-Output "$testIP Online"            
                    
            # Array ergänzen mit dem Online Gerät            
            $alleOnlineGeraete += $testIP            
        }             
    else             
        {            
            # Schreiben bei Misserfolg            
            Write-Output "$testIP Offline"            
                        
            # Array ergänzen mit dem Offline Gerät            
            $alleOfflineGeraete += $testIP            
        }            
}            
            
# Ausgabe der Online Geräte            
"Online sind:"            
$alleOnlineGeraete             
            
# Ausgabe der Offline Geräte            
"Offline sind:"            
$alleOfflineGeraete
——————————————–
Solltest du irgendwelche Fragen haben, dann kannst du diese gerne entweder hier im Blog oder direkt unter dem YouTube Video stellen. Ich gebe alles, deine Fragen zeitnahe zu beantworten oder ein entsprechendes Video darüber zu machen.
Gerade die Grundlagen-Videos werde ich nicht mit viel Text ausschmücken. Bei mir ist jeweils jede Code-Zeile direkt im Code Kommentiert (#Grün). Du kannst den Code direkt mit in dein Script kopieren und hast so eine gute Orientierungshilfe, sobald du die Scripts auf deine Bedürfnisse anpasst.

Ich erstelle und veröffentliche sämtliche Videos kostenlos und blende auch keine Werbung ein, dies will ich auch so beibehalten. Da das vermittelte Wissen aber in teuren Kursen erlangt werden kann, ist eine kleine Spende hin und wieder sicher keine schlechte Gegenleistung.