arduino
Goto Top

Mit Powershell doppelte Einträge aussortieren

Hallo

Folgendes Szenario (via Powershell): Das Ziel ist es, dem ADUser (Spalte 1) das entsprechende Datum zu setzen. Das File wird vom KIS System exportiert und kann pro Benutzer mehrere Austrittsdaten hinterlegt haben. Jetzt müsste, falls mehrere Daten hinterlegt sind, z.B unten bei User1, soll nur der jeweils letzte Eintrag abgearbeitet werden (hier mit dem Datum 31082015).

Aufbau Dokument
User1,22082015
User1,18082015
User1,31082015
User2,31082015
User3,18082015

Hat jemand eine einfache Idee, wie ich das möglichst einfach realiseren kann?

Vielen Dank schon im Voraus

Content-Key: 277848

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

Printed on: April 23, 2024 at 23:04 o'clock

Member: colinardo
Solution colinardo Jul 20, 2015 updated at 13:10:08 (UTC)
Goto Top
Hallo @arduino,
z.B. so wenn die Textdatei keine Überschriften hat und die Daten direkt in der ersten Zeile beginnen
$csv = Import-CSV 'C:\temp\data.txt' -Delimiter "," -Header User,Date  
$uniqueUsers = $csv | select User,@{n="Date";e={[datetime]($_.Date -replace '(\d{2})(\d{2})(\d{4})','$3.$2.$1')}} | sort Date -Descending | group User | select Name,@{n="Date";e={$_.Group.Date}} | sort Name  
$uniqueUsers

Ausgabe als Objekt sieht dann folgendermaßen aus:
Name  Date               
----  ----               
User1 31.08.2015 00:00:00
User2 31.08.2015 00:00:00
User3 18.08.2015 00:00:00
Das Objekt $uniqueUsers kannst du dann auf normale Art und Weise mit foreach durchlaufen.

Grüße Uwe
Member: arduino
arduino Jul 20, 2015 at 13:11:13 (UTC)
Goto Top
Super, vielen Dank! Genau so hab ich's mir vorgestellt