我的脚本逻辑如下: -
码
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
写的区别;上面的命令会覆盖/或只是追加?
感谢。
答案 0 :(得分: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 将被追加。