makaroni
Goto Top

PowerShell Inhalt einer csv Datei löschen

Hallo zusammen,

ich möchter gerne automatisiert über einen Task alle 10 Min eine CSV Datei via Powershell einlesen und abarbeiten.
Ziel ist es, dass automatisiert Zertifikate ausgestellt werden können. Mitarbeter X fügt also Namen in eine CSV Datei hinzu, die Zertifikate werden ausgestellt und dann möchte ich gerne, dass der Inhalt der CSV Datei, ausser der 1. Zeile gelöscht wird damit nicht beim nächsten Task die gleichen Zertifikate wieder ausstellt werden.
Also sprich die Namen, für die die Zertifikate ausgestellt wurden, müssen aus der csv datei verschwinden.

Das Skript für die Zeritifkatsausstelung habe ich soweit fertig.
Hat jemand eine Idee wie ich das umsetzen kann?

Vielen Dank für Eure Hilfe.

LG makaroni

Content-Key: 339306

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

Printed on: April 16, 2024 at 10:04 o'clock

Member: em-pie
em-pie May 30, 2017 at 14:33:39 (UTC)
Goto Top
Moin,

du könntest nach der VErarbeitung zunächst allen Content löschen:
https://technet.microsoft.com/de-de/library/ee156808.aspx

und entweder:
  • zuvor die erste Zeile (nochmal) auslesen und nach dem obigen löschen wieder hineinschreiben
  • oder im Powershell-Quellcode die Zeile "fest verdrahten" und dann in die leere Datei hineinschreiben...

https://www.tutorials.de/threads/powershell-zeilen-in-datei-schreiben-an ...

Gruß
em-pie
Member: colinardo
Solution colinardo May 30, 2017 updated at 14:45:50 (UTC)
Goto Top
(gc 'c:\datei.csv' -TotalCount 1) | sc 'c:\datei.csv'  
Obwohl ich hier eher zu einer Datenbank als Grundlage tendieren würde oder zumindest eine Spalten in der CSV vorsehen würde die kennzeichnet das das Cert erstellt wurde, denn wenn jemand zum selben Zeitpunkt die CSV neu schreibt wenn du löschst kommt das sicher nicht gut face-wink. Also bspw, eine Spalte mit 'Erstellt' erstellen und dann das Flag 1 setzen. Beim Laden der CSV dann nach Erstellt != 1 filtern. Und beim zurückschreiben dann per where object die mit 1 rausfiltern und den Rest zurückschreiben

Grüße Uwe
Member: AnkhMorpork
AnkhMorpork May 31, 2017 at 10:53:37 (UTC)
Goto Top
Die Überschrift finde ich ein wenig irreführend. Es soll ja nicht der gesamte Inhalt (das wäre dann clear-content) gelöscht werden, sondern alles bis auf die erste Zeile.
Vielleicht passt du das noch an, damit es klarer wird. Bei der Suche macht sich das dann auch besser.


Gruß

Ankh
Member: colinardo
colinardo Jul 23, 2017 at 10:41:29 (UTC)
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.