
Danke für eure fleißigen Beiträge und Ideen, vorallem ein Danke an RalphS für die "Dummkopf-Anleitung"!
Dieser Beitrag wurde von GeneralAnzeiger bearbeitet: 23. Oktober 2014 - 19:06
geschrieben 23. Oktober 2014 - 17:56
Dieser Beitrag wurde von GeneralAnzeiger bearbeitet: 23. Oktober 2014 - 19:06
geschrieben 23. Oktober 2014 - 19:58
# Lege ein Objekt $csv an und stecke dort DNSName/IPAdresse/was-auch-immer rein UND definiere ZUSÄTZLICHE Spalte für eine Markierung (hier: Spalte c).
# Fürs Endergebnis sind sicherlich aussagekräftigere Spaltennamen sinnvoller, sonst weiß dann keiner mehr, was a, b und c überhaupt sein sollten.
# Test-Connection benötigt in jedem Fall den -ComputerName Parameter; das kann NetBIOS-Name, DNS-Name oder IP-Adresse sein, je nachdem was verfügbar ist.
$csv = Import-Csv -Path .\test.csv -Header a,b,c |
ForEach-Object {
# Gehe die Liste der Einträge der CSV durch, pinge sie an und notiere bei Erfolg die Ziel-IP in der Markierungs-Spalte (kann aber natürlich auch irgendwas anderes notiert werden)
# -ErrorAction SilentlyContinue unterdrückt die zwangsläufig auftretenden Fehlermeldungen für nicht erreichbare Hosts
$n = (Test-Connection -Count 1 -ComputerName $_.a -ErrorAction SilentlyContinue).IPV4Address.IPAddressToString;
$_.c=$n;
# Write-Output an dieser Stelle ist notwendig; das gibt uns den "Rückgabewert" des Foreach-Object Blocks
Write-Output $_;
};
# Am Ende muß nur noch eine neue CSV-Datei erstellt werden - die MIT der Markierung. Das kann auch die alte überschreiben, sollte man aber natürlich nicht machen.
# ACHTUNG: überschrieben wird standardmäßg OHNE Rückfrage!
Write-Output $csv | Export-Csv -Path .\ergebnis.csv -NoTypeInformation:$true;
Dieser Beitrag wurde von RalphS bearbeitet: 23. Oktober 2014 - 20:00
geschrieben 24. Oktober 2014 - 15:43
Dieser Beitrag wurde von GeneralAnzeiger bearbeitet: 24. Oktober 2014 - 15:44
geschrieben 24. Oktober 2014 - 16:00