Page tree
Skip to end of metadata
Go to start of metadata

Wanneer er problemen zijn met de connectiviteit, dan raden wij aan om met ons contact op te nemen.

Als u doorverwezen bent naar deze pagina, of u wilt uw connectiviteit zelf testen dan kan het volgende script gebruikt worden om hier inzicht in te geven.

Dit script logt naar een textbestandje maar ook naar CSV, zodat je achteraf kan sorteren op vertraging en complete verbrekingen


Dit script gebruikt u op de volgende manier:

Druk op de windows knop linksonderin en zoek op powershell.exe, start deze vervolgens op

Kopieër de onderstaande code en plak het in het venster.

Hij zal vragen waar je naartoe wil pingen, hoe lang en waar de log moet komen. Maar enter klikken en hij zal dan doorlopen met de standaard waarden, of u kunt zelf iets invullen.

U kunt op de volgende locatie het resultaat vinden van de test: C:\log.txt en c:\log.csv

#Boaz Brak; Accensys Business Solutions
#Laatste Update: 14-1-2021
#V1.2

#WAT DOET DIT SCRIPT:
#Dit script pingt elke seconde naar een site en logt dit naar een textbestandje en naar een csv bestandje

$TestDoel = Read-Host -Prompt "Waar gaan we naar pingen? (Laat leeg voor google.com)"
$tijdsduur = Read-host -Prompt "Voor hoe lang willen we pingen in uren? (Laat leeg voor 8 uur)"
$Log = Read-Host -Prompt "Waar mag de logmap komen? (Laat leeg voor C:\)"

switch ($null) {
    $Testdoel       {$TestDoel = "google.com"}
    $tijdsduur      {$tijdsduur = 8}
    $log            {$Log = "C:\"}
}

$logmap = "$log\log"
$eindtijd = (get-date).AddHours($tijdsduur)
$starttijd = get-date -Format "yyyy-MM-dd hh-mm-ss"

function PingP($TestDoel,$tijdsduur,$GeenHeader) {
#Met Dit gedeelte houden we een normaal powershell object, dit is makkelijk te converteren naar CSV
    Test-NetConnection $testdoel | select-object `
        @{name="Sucess";    expression={$_.pingsucceeded}},
        @{name="Latency";   expression={$_.PingReplyDetails.roundtriptime}},
        @{name="Tijd";      expression={(get-date -Format "hh:mm:ss")}} |
    Tee-Object -Variable VarVoorCSV |
#Dit gedeelte formatteren we met formattable voor text, met de tabellen aan de linker gealligned, anders lopen ze scheef
    Format-Table -HideTableHeaders:$GeenHeader `
        @{name="Sucess";    expression={$_.Sucess};     align='left'},
        @{name="Latency";   expression={$_.Latency};    align='left'},
        @{name="Tijd";      expression={$_.Tijd};       align='left'} |
    out-string | New-Variable VarVoorText
    $CSV = $VarVoorCSV | ConvertTo-Csv -NoTypeInformation
    $Text = $VarVoorText.Trim()
#door regel een te selecteren ipv 0 skippen we de headers
    if ($geenheader) {
        $CSV = $CSV[1]
    }
    return $CSV, $Text
}

#Als de logmap nog niet bestaat dan maken we hem
if ((Test-Path $logmap) -eq $false) {
    new-item -ItemType Directory $logmap
}

$firstrun = $true

while ((get-date) -le $eindtijd) {
#Als dit de eerste run is dan willen we wel headers
    if ($firstrun) {
        $CSV, $Text = PingP $TestDoel $tijdsduur -GeenHeader $false
        $firstrun = $false
    }
    else {
        $CSV, $Text = PingP $TestDoel $tijdsduur -GeenHeader $true
    }
    $Text | out-file "$logmap\$starttijd.txt" -Append
    $CSV | Out-File "$logmap\$starttijd.csv" -Append
    Start-Sleep -Seconds 1
}
  • No labels