2017-07-26 18 views
1

ich ein Drehbuch schreibe die Ausgabe von Get-EventLog anzuzeigenInhalt nicht löschen richtig

$File_Name = "$env:tmp\Event_logs.csv" 

if(Test-Path $File_Name){ 
Clear-Content $File_Name 
} 
$Event_Logs_Content | ConvertTo-Csv | Set-Content $File_Name 
start $File_Name 

csv Aber wenn ich zweites Mal ausgeführt, die Ergebnisse für die erste Zeit existieren noch in der Datei und zum dritten Mal Ausführung erste 2 Versuche Ausgabe existiert noch in der Datei und so weiter ..

i durch Löschen ~ „Dateien“ in tmp Pfad versucht, aber nichts nützt, empfehlen Sie bitte

+1

Warum nicht einfach 'Export-Csv' verwenden? – Raziel

Antwort

1

dies Ihre Arbeit erledigen soll:

$File_Name = "$env:tmp\Event_logs.csv" 

if(Test-Path $File_Name){ 
Remove-Item $File_Name -Force 
} 
$Event_Logs_Content | ConvertTo-Csv | Out-File $File_Name -Force 

Angenommen, $ Event_Logs_Content hat die richtigen Werte, die Sie in der Datei festlegen möchten. Weil ich den Abrufcode der Ereignisprotokolle nicht sehe.

+0

Sie müssen die Datei nicht löschen, wenn Sie Out-File ohne -append verwenden. – bunzab

+0

@bunzab: Aber ich würde das immer noch bevorzugen. Es ist irgendwie meine beste Praxis;) –

0

Vielen Dank, es funktioniert jetzt. Verwendet unten Linien

$ File_Name = "$ env: tmp \ Event_logs.csv"

if (Test-Path $ File_Name) { Remove-Item $ File_Name -Force } $ Event_Logs_Content | ConvertTo-Csv | Out-File $ Dateiname -Force

Verwandte Themen