Ping Netzwerkverbindung √ľberwachen

Einfaches Powershellskript um eine bestimmte IP zu √ľberwachen: bei Verbindungsaufbau oder Verbindungsabbruch wird ein Information in Form eines ToolTip angezeigt. Im Powershellfenster wird die Verbindung protokolliert.

das fertige Skript

Nach der Eingabe der IP 

werden Informationen zum Verbindungsstatus als Tooltip angezeigt:

Im Skriptfenster werden die √Ąnderungen des Verbindungsstatus protokolliert:

Das Skript kann nat√ľrlich auch mehrfach f√ľr verschiedene Adressen gestartet werden, optional auch per Command Line Parameter aus einer .cmd Datei:

start /min %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe "C:\Portable\skripts\ping.ps1" -ip 8.8.8.8

start /min %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe "C:\Portable\skripts\ping.ps1" -ip 8.8.4.4

hier der Quellcode:

param ([string] $ip = 'none')
 
if ($ip -ne 'none'){
    $global:pingip=$ip}else{$global:pingip= Read-Host 'welche IP soll √ľberwacht werden?'
}

Function BalloonTooltip {
    [system.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') | Out-Null
    $balloon = New-Object System.Windows.Forms.NotifyIcon
    $path = Get-Process -id $pid | Select-Object -ExpandProperty Path
    $icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
    $balloon.Icon = $icon
    $balloon.BalloonTipIcon = $global:BallonTitle
    $balloon.BalloonTipText = $global:BallonText + $global:pingip
    $balloon.BalloonTipTitle = $global:BallonTitle
    $balloon.Visible = $true
    $balloon.ShowBalloonTip(10000)
}
 
$status='no'
while($true){
    if(test-connection $global:pingip -count 2 -q) {
        if ($status -ne 'connected'){
            $global:BallonText = 'Connection established:'
            $global:BallonTitle = 'Info'
            $status='connected'
            Write-Output "$(Get-Date) : $status $global:pingip"
            BalloonTooltip
        }
    }else {
        if ($status -ne 'lost') {
            $global:BallonText = 'no Connection to:'
            $global:BallonTitle = 'Warning'
            $status='lost'
            Write-Output "$(Get-Date) : $status $global:pingip"
            BalloonTooltip
        }
    }
}

die Funktion BalloonTooltip stammt von dieser Seite: http://www.zerrouki.com/balloontooltip/

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE f√ľr deine Bewertung!

Aktualisiert: 04.07.2016 von Bernhard |ūüĒĒ

‚ě® PowerShell write excel | ‚ě¶ PowerShell Beispiele | Windows - Dateiversionsverlauf wiederherstellen ‚ě®

Top-Artikel in diesem Bereich


PowerShell: Dateiattribute: Datum ändern - ganz ohne Tools

Als Alternative zu speziellen Programmen kann auch mit PowerShell das Datum einer Datei oder eines Ordners geändert werden. 


AD: Active Directory Daten auslesen

Mit Windows PowerShell Active Directory Objekte auslesen.


PowerShell: Bildschirmschoner verhindern: Maus regelmäßig bewegen

Wer die Einstellungen f√ľr die Bildschirmsperre nicht √§ndern kann, kann alternativ regelm√§√üig die Maus bewegen, oder die Maus von einem Script bewegen lassen. Urspr√ľnglich als AutoIt-Script ver√∂ffentlicht, habe ich das Script mit ein paar PowerShell-Zeilen nachgebaut. Wer die folgenden Befehle in eine PowerShell-Sitzung kopiert, verhindert, dass sich der Computer sperrt:

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

‚úćanonym
22.06.2020 09:13
Cool wäre noch eine Protokolldatei.

Gruß ust

‚úćanonym
25.09.2019 07:59
User: R√ľdiger 
Hallo. Tolles Script.

Ist das die Standardausgabe, wenn die Verbindung verloren geht?

test-connection : Generic failure 
At line:22 char:8
+     if(test-connection $global:pingip -count 2 -q) {
+        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Test-Connection], ManagementException
    + FullyQualifiedErrorId : TestConnectionException,Microsoft.PowerShell.Commands.TestConnectionCommand
 

‚úćanonym
31.05.2018 10:22
User: ms 
Gibt es eine M√∂glichkeit das f√ľr mehrere IP's gleichzeitig auszuf√ľhren?

‚úćanonym
08.01.2018 22:49
User: michael 
danke f√ľr das skript