【问题标题】:Get-EventLog with Append带附加的获取事件日志
【发布时间】:2017-04-04 08:10:40
【问题描述】:

所以我在下面有这段代码,它使用附加来收集声明的 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

【问题讨论】:

  • 您是说您正在寻找的只是将今天的日期包含在您的输出文件名中吗?如果有,采用什么格式?如果这就是您要查找的全部内容:您问题中的所有代码都与您的问题无关。

标签: powershell append event-log audit event-id


【解决方案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 

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • get-start 是有效的 cmdlet 名称吗?找不到。
    • 糟糕,我要搞定日期
    猜你喜欢
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 2012-06-23
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多