Skip to main content

CSV mit Powershell einlesen

Einleitung

Du kannst mit der Powershell CSV-Dateien einlesen. Dies kannst du verwenden um Listen von Daten einzulesen und diese z.B. als Parameter für Funktionen zu verwenden. So können automatisierte oder vereinfachte Prozesse gestaltet werden. 

Code

Zuerst müssen wir eine CSV Datei erstellen. Im Beispiel erstellen wir eine Liste aus Rechnern die später eingelesen und angepingt werden sollen. Über die Überschriften können die Daten dann später angesprochen werden.

powershellCSV1.JPG

Im nächsten Schritt erstellen wir in Powershell ein Array in der die CSV Daten gespeichert werden. Dort wird dann über die Powershell-Funktion Import-CSV die Datei eingelesen. Dort geben wir als Parameter den Pfad und das Trennzeichen mit. Die Daten werden dann als mehrdimensionales Array in das Array übergeben. In der folgenden Schleife wird dann das Array durchgearbeitet. Ãœber die Ãœberschriften können dann die Daten angesprochen werden.

# Import der CSV Daten in das Array
$Daten = @()
$Daten = Import-Csv -Path "C:\Temp\computer.csv" -Delimiter ";"

# Schleife die Daten der CSV nacheinander durcharbeitet
foreach($d In $Daten)
{
	# Code der ausgeführt wird
    if(Test-Connection -ComputerName $d.'IPv4-Adresse')
    {
        Write-Host("Der Computer mit dem Namen " + $d.'PC-Name' + " ist erreichbar!") -ForegroundColor Green
    } else {
        Write-Host("Der Computer mit dem Namen " + $d.'PC-Name' + " ist nicht erreichbar!") -ForegroundColor Red
    }
}