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 в последней строке переменной.