Get-EventLog с Append

Так что у меня есть этот код ниже, который собирает указанные EventID с использованием append. Проблема в том, что он сохраняет только в один файл. Что я хочу сделать, это сохранить коллекцию в ежедневный файл, чтобы я мог сделать ежедневный отчет. Небольшая помощь, пожалуйста?

$endtime = Get-Date
$starttime = (Get-Date).AddHours(-3)
$domain = "ComputerName"

$event = get-eventlog security -ComputerName $domain -after $starttime -before $endtime | where-object {($_.EventID -eq  4724) -or ($_.EventID -eq 4723) -or ($_.EventID -eq 4720)}
$event | select MachineName,EventID,TimeGenerated,Message | export-csv -path "E:\EventLogs\temp.csv"
get-content "E:\EventLogs\temp.csv" | out-File -filepath "E:\EventLogs\AccountAudit.csv" -append -enc ASCII -width 500

2 ответа

Export-Csv Имеет -Append Кроме того, вы можете сократить свой код до:

$event = get-eventlog security -ComputerName $domain -after $starttime -before $endtime | 
Where-object {($_.EventID -eq  4724) -or ($_.EventID -eq 4723) -or ($_.EventID -eq 4720)}

$event | select MachineName,EventID,TimeGenerated,Message | 
Export-Csv -path "E:\EventLogs\AccountAudit.csv" -Append -Encoding ASCII 

Просто добавьте начало с некоторыми параметрами, чтобы получить дату, подходящую для имени файла (например, без "/"), и сохраните ее в переменной. Затем замените AccountAudit в последней строке переменной.

Другие вопросы по тегам