【问题标题】:Powershell extracting logs based upon interval?Powershell根据间隔提取日志?
【发布时间】:2014-04-24 03:18:51
【问题描述】:

我的脚本逻辑如下:-

  • 检查文件夹是否为空
  • 如果使用相同的命令,例外时间段为过去 30 天。即 StartDate 等
  • 如果文件夹不为空,则使用相同的命令获取/提取 1 天的日志 只是调整时间设置。
  • 脚本将安排为每 5 分钟运行一次。对于使用相同命令的每次运行提取 1 天,将结果保存在 temp.csv 中,并比较它的 final-admin.csv 的最新副本。
  • 如果发现更改;写入差异/覆盖 final-admin.csv

代码

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
$outcsv='c:\Mail-audit-results\Final-mail-admin.csv'
if(Get-ChildItem C:\Mail-audit-results){

    $enddate=[datetime]::Today
    $Startdate=$enddate.AddDays(-1)
    $splat=@{
         Identity='mail.test-nw.com'
         LogonTypes=@('Admin','Delegate')
         ShowDetails=$true
         StartDate=$Startdate
         EndDate=$enddate
    } 

        Search-MailboxAuditLog @splat | Export-Csv c:\Mail-audit-results\temp_results.csv -NoTypeInformation -Append
        $Old = Import-CSV $outcsv
        $New = Import-CSV c:\Mail-audit-results\temp_results.csv
        $New | ?{$Old -notmatch $_} | Export-CSV $outcsv -notype    
    }

    #process items when files found
}else{
    # process when no files found.
    $enddate=[datetime]::Today
    $Startdate=$enddate.AddDays(-30)
    $splat=@{
         Identity='mail.test-nw.com'
         LogonTypes=@('Admin','Delegate')
         ShowDetails=$true
         StartDate=$Startdate
         EndDate=$enddate
    } 
    Search-MailboxAuditLog @splat | Export-Csv $outcsv -NoTypeInformation -Append


}

    Get-ChildItem 'c:\Mail-audit-results\Final-mail-admin.csv' | ForEach {


    Else 
    { 
    return 0;



    }

}

问题点

如何更改节中 mm/dd/yyy 格式的日期格式

$enddate=[datetime]::Today
$Startdate=$enddate.AddDays(-1)

如何用差异数据覆盖?

$New | ?{$Old -notmatch $_} | Export-CSV $outcsv -notype    

我不想将差异写入第三个文件,我希望将原始文件$outcsv 写入;上面的命令会覆盖/还是只是追加?

谢谢。

【问题讨论】:

    标签: powershell csv scripting


    【解决方案1】:

    您可以使用 -Uformat 开关更改日期

    $enddate= Get-Date ([datetime]::Today) -UFormat "%m%d%Y"
    $Startdate= Get-Date ($enddate.AddDays(-1))  -UFormat "%m%d%Y"
    

    线

    $New | ?{$Old -notmatch $_} | Export-CSV $outcsv -notype

    将覆盖数据,Export-CSV -Append 将追加。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多