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/

{{percentage}} % positiv

DANKE für deine Bewertung!
Top-Artikel in diesem Bereich
Als Alternative zu speziellen Programmen kann auch mit PowerShell das Datum einer Datei oder eines Ordners geändert werden.
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)]
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
User: ms Gibt es eine Möglichkeit das für mehrere IP's gleichzeitig auszuführen?