cloudy
Goto Top

PowerShell Object problem

Hallo,

ich habe aktuell ein kleines Problem.
Ich erhalte eine CSV Datei mit den Spalten Standort und IP-Adresse
zu den IP-Adressen soll nun die Verfügbarkeit geprüft werden und anschließend wieder in eine CSV-Datei Exportiert werden mit den Spalten Standort, IP-Adresse, Pingstatus.

Mein Problem, ist wie verhindere ich den Verlust des Standortes? So dass sozusagen der Pingstatus in die CSV eingefügt wird.

Import-Csv -Path '.\Eingabe.csv' -Header Standort,ComputerName | Test-NetConnection |Select-Object ComputerName,PingSucceeded | Export-Csv -Path '.\Ausgabe.csv' -Delimiter ';' -NoTypeInformation  

Content-Key: 300633

Url: https://administrator.de/contentid/300633

Printed on: April 19, 2024 at 05:04 o'clock

Mitglied: 114757
Solution 114757 Apr 01, 2016 updated at 20:47:21 (UTC)
Goto Top
Moin,
da gibt es mehrere Möglichkeiten, hier eine davon mit einer Calculated Property
(Import-Csv -Path '.\Eingabe.csv' -Header Standort,ComputerName) | select Standort,Computername, @{n="PingStatus";e={Test-NetConnection -Computername $_.Computername -EA SilentlyContinue | select -Expand PingSucceeded}} | Export-Csv -Path '.\Ausgabe.csv' -Delimiter ';' -NoTypeInformation -Encoding UTF8  
Gruß jodel32
Member: Cloudy
Cloudy Apr 01, 2016 updated at 20:26:27 (UTC)
Goto Top
Wie nennt man dieses Konstrukt mittels @{} bzw. @{n="";e=""}, es ist schwer danach bei google zu suchen... Hast du dazu weitere Informationen?
Und wieso muss das Import-Csv in Klammern? Welchen unterschied macht das?
Mitglied: 114757
Solution 114757 Apr 01, 2016 updated at 20:51:00 (UTC)
Goto Top
Zitat von @Cloudy:

Wie nennt man dieses Konstrukt mittels @{} bzw. @{n="";e=""}, es ist schwer danach bei google zu suchen... Hast du dazu weitere Informationen?
Habe ich oben schon genannt. Das ist eine Calculated Property
Das n steht für den Namen der Eigenschaft welche erstellt werden soll und das e bedeutet Expression in der der Wert der Eigenschaft in einem Skriptblock ausgegeben werden kann.

Und wieso muss das Import-Csv in Klammern? Welchen unterschied macht das?
Damit wird der Import der CSV erst komplett in den Speicher geholt bevor die Objekte in die Pipe gelangen. Das ist z.B. dann nötig wenn man in einer Pipe am Ende wieder in die selbe Datei zurückschreiben möchte. Das ist bei mir Gewohnheitssache, hatte erst nicht gesehen das du den Output in eine andere Datei schreibst.