2016-11-21 42 views
0

所以我有下面的代碼收集使用附加說明的EventIDs。問題在於它只能保存到單個文件中。我想要做的是將收藏集保存到每日文件中,以便我可以每天進行一次報告。請幫助一下?Get-EventLog附加

$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 
+0

你是說你要尋找的是將今天的日期在你的輸出文件名?如果是這樣,以什麼格式?如果這就是你想要的:你問題中的所有代碼都是附帶的。 – mklement0

回答

0

用簡單的添加一些參數的獲取開始得到這名友好的日期(沒有「/」爲例),並將其保存在一個變量。然後用變量替換最後一行的AccountAudit。

+0

是'get-start'一個有效的cmdlet名稱?找不到它。 – Moerwald

+0

Woops,我彪得到最新 –

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 
+0

感謝。但是這並不能解決問題。 :( – lapsantos