Ping Ergebnis in CSV schreiben

Einleitung

Mit diesem kleinen Skript kann man in eine CSV Datei schreiben lassen, ob ein Ping erfolgreich durchgegangen ist oder nicht. Es wird dann immer die Uhrzeit und das Datum dazu geschrieben, um nachzuverfolgen, wann das genau war.

Du kannst in dem Skript festlegen, in welchen Abschnitten die Pings durchgeführt werden, wie viele Durchläufe durchgeführt werden sollen, und unter welchem Pfad die Logdatei liegen soll und wie diese heißt.

Die Datei wird bei jeder Durchführung gelöscht und neu erstellt, damit keine Altlasten zur Verwirrung sorgen können.

Code

$path = "C:\logs"
$filename = "result.csv"
$destAddress = "srv-windows1"

    Write-Host("===========================") -ForegroundColor Green
    Write-Host("Starte Connection Tester") -ForegroundColor Green
    Write-Host("Ziel: " + $zielAdresse) -ForegroundColor Green
    Write-Host("Entwickelt von: Phillip Unzen") -ForegroundColor Green
    Write-Host("===========================") -ForegroundColor Green
    Write-Host(" ")

    if(Test-Path -Path ($path + "\" + $filename))
    {
        Remove-Item -Path ($path + "\" + $filename)
        New-Item -Path $path -Name $filename -ItemType File 
    } else {
        New-Item -Path $path -Name $filename -ItemType File
    }

for($i = 0; $i -le 10000; $i++)
{
    if(Test-Connection -ComputerName $destAddress -Count 1)
    {
        Write-Host("Ping erfolgreich!") -ForegroundColor Green
        $str = (Get-Date).ToString("dd.MM.yyyy") + ";" + (Get-Date).ToString("HH:mm:ss") + ";" + "Erfolgreich"

    } else {
        Write-Host("Keine Verbindung") -ForegroundColor Red
        $str = (Get-Date).ToString("dd.MM.yyyy") + ";" + (Get-Date).ToString("HH:mm:ss") + ";" + "Fehler"
    }

    $str | Out-File -FilePath ($path + "\" + $filename) -Encoding utf8 -Append

    Start-Sleep 2
}

Revision #2
Created 25 April 2022 09:05:08 by Phillip U.
Updated 17 May 2024 05:36:59 by Phillip U.