0

所以我在下面有这段代码,它使用 append 收集声明的 EventID。问题是它只保存到一个文件中。我想要做的是将集合保存到每日文件中,以便我可以做每日报告。请帮忙?

$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
4

2 回答 2

1

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 
于 2016-11-21T11:28:31.070 回答
0

只需添加一个带有一些参数的 get-start 即可获取文件名友好的日期(例如,没有“/”)并将其保存在变量中。然后用变量替换最后一行的 AccountAudit。

于 2016-11-21T05:43:54.040 回答