Benutzer mit den meisten Antworten
Pingabfrage

Frage
-
Hallo zusammen,
zuerst gesagt ich bin absoluter Neuling im Programmieren.
Folgendes soll das Programm erreichen:
Pingabfrage für 60 Sekunden, danach soll am besten die Ping Statistik (also durchschnittlicher Ping) ausgelesen werden und bei ping < 40 ms soll ein Fenster aufpoppen mit Ping okay, ansonsten ein Fenster mit Ping nicht okay und der Möglichkeit das Programm zu wiederholen.
Hier mein bisheriger Code:
$a1 = new-object -comobject wscript.shell $google = "www.google.de" $pingabfrage = Get-WmiObject -Class win32_pingstatus -Filter "Address = '$google'" if ($pingabfrage.responsetime -lt 40) { $ok = $a1.popup(“Alles in Ordnung“,0,”Test erfolgreich, Ping okay”,0) } else { $nok = $a1.popup(“Wollen Sie den Test wiederholen?“,0,”Ping nicht okay”,4) }
Hier wird jetzt halt nur der Ping von einer Abfrage geprüft, wie bekomm ich die 60 Abfragen hin bzw. wie kann ich den Durchschnittsping bei z.b. ping -n 60 auslesen? Nächste Sache wäre wie bekomm ich beim else Fall es hin, das er wenn ich beim Fenster auf "Wiederholen" klicke das Programm noch einmal startet?
Bin für jede Verbesserung und Tipp dankbar!
- Bearbeitet Norm B2 Samstag, 22. Dezember 2012 19:48 codeblock
Antworten
-
Hallo,
so sollte es funktionieren:
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") function Ping { param ( [String]$Address ) $averageResponseTime = (Test-Connection -ComputerName $Address -Count 60 | Measure-Object -Property ResponseTime -Average).Average IF ( $averageResponseTime -lt 40 ) { [System.Windows.Forms.MessageBox]::Show("Alles in Ordung`nResponse Time: $averageResponseTime", "Ping okey", [System.Windows.Forms.MessageBoxButtons]::Ok,"Information") } else { $Popup = [System.Windows.Forms.MessageBox]::Show("Wollen Sie den Test wiederholen`nResponse Time: $averageResponseTime", "Ping nicht okay", [System.Windows.Forms.MessageBoxButtons]::YesNo,"Warning") IF ( $Popup -eq "Yes" ) { ping -Address $Address } } } ping -Address www.google.de
#
MfG
- Als Antwort vorgeschlagen Alex Pitulice Donnerstag, 3. Januar 2013 12:55
- Bearbeitet Schlieng Donnerstag, 3. Januar 2013 13:18
- Als Antwort markiert Norm B2 Donnerstag, 3. Januar 2013 21:43
Alle Antworten
-
Erste Hilfe sollte das Folgende geben. Dein zweites Problem kannst Du unter anderem über Funktionen und lösen (Get-Help about_functions)
$shell = New-Object -ComObject wscript.shell $address = "www.google.de" $pingResult = Test-Connection -ComputerName $address $averageResponseTime = ($pingResult | Measure-Object -Property ResponseTime -Average).Average if ($averageResponseTime) { $ok = $shell.Popup('Alles in Ordnung',0,'Test erfolgreich, Ping okay',0) } else { $nok = $shell.Popup('Wollen Sie den Test wiederholen?',0,'Ping nicht okay',4) }
-Raimund
-
Danke erstmal. Mein Code sieht jetzt so aus:
$shell = new-object -comobject wscript.shell $address = "www.google.de" $pingresult = Test-Connection -ComputerName $address -Count 60 $averageResponseTime = ($pingResult | Measure-Object -Property ResponseTime -Average).Average if ($averageResponseTime -lt 40) { $ok = $shell.popup(“Alles in Ordnung“,0,”Test erfolgreich, Ping okay”,0) } else { $nok = $shell.popup(“Wollen Sie den Test wiederholen?“,0,”Ping nicht okay”,4) }
Mit den Funktionen komme ich nicht wirklich weiter
-
Hallo,
so sollte es funktionieren:
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") function Ping { param ( [String]$Address ) $averageResponseTime = (Test-Connection -ComputerName $Address -Count 60 | Measure-Object -Property ResponseTime -Average).Average IF ( $averageResponseTime -lt 40 ) { [System.Windows.Forms.MessageBox]::Show("Alles in Ordung`nResponse Time: $averageResponseTime", "Ping okey", [System.Windows.Forms.MessageBoxButtons]::Ok,"Information") } else { $Popup = [System.Windows.Forms.MessageBox]::Show("Wollen Sie den Test wiederholen`nResponse Time: $averageResponseTime", "Ping nicht okay", [System.Windows.Forms.MessageBoxButtons]::YesNo,"Warning") IF ( $Popup -eq "Yes" ) { ping -Address $Address } } } ping -Address www.google.de
#
MfG
- Als Antwort vorgeschlagen Alex Pitulice Donnerstag, 3. Januar 2013 12:55
- Bearbeitet Schlieng Donnerstag, 3. Januar 2013 13:18
- Als Antwort markiert Norm B2 Donnerstag, 3. Januar 2013 21:43
-
Hallo Norm B2,
wenn die Thematik abgeklärt ist, markiere bitte die hilfreichen Beiträge "als Antwort".
Viele Grüße,
AlexAlex Pitulice, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
wenn die Thematik abgeklärt ist, markiere bitte die hilfreichen Beiträge "als Antwort".
@Alex Pitulice
Sind die Beiträge nun Hilfreich oder sind sie die Antwort?
Bitte die Begriffe nicht synonym gebrauchen, da Sie hier im Forum zwei völlig unterschiedliche Dinge sind! ;-)Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
German ? Come to German PowerShell Forum!