2016-11-21 10 views
0

したがって、以下のコードを追加してEventIDを収集します。問題は、それが1つのファイルにのみ保存されていることです。私がしたいことは、コレクションを毎日のファイルに保存して、毎日のレポートを作成することです。少し助けてください?Get-EventLog with 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 
+0

あなたが探しているすべては、あなたの出力ファイル名に今日の日付を組み込むことであると言っていますか?もしそうなら、どんな形式ですか?そしてそれがあなたが探しているすべてのものであれば、問題のコードはすべてあなたの問題に付随しています。 – mklement0

答えて

0

単純に(例えばノー「/」)、ファイル名に優しいの日付を取得するには、いくつかのパラメータを持つGET-スタートを追加し、変数に保存します。次に、最後の行のAccountAuditを変数に置き換えます。

+0

は、 'get-start'は有効なコマンドレット名ですか?それを見つけることができません。 – Moerwald

+0

お手数ですが、取得日は –

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