Skip to main content

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 Log Datei 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
}