更新PS脚本以运行每日交换日志

时间:2014-09-23 19:51:31

标签: powershell csv

我创建了这个脚本

$VarDay = (Get-Date).day
$VarMonth = (Get-Date).month

get-messagetrackinglog -Recipients:haavarot-from@my-domain.co.il -EventID "FAIL" -Start "09/20/14" -End "09/23/14" | export-csv c:\MailboxStatistics-$VarMonth-$VarDay.csv -encoding "utf8"

从邮箱创建包含FAIL邮件日期名称的CSV文件 它的工作很好 但我唯一发现的问题是每天都能运行,无需编辑Ps代码中的日期

-i希望它每天22:00自动运行,并将某天的日志记录为7天 在8天我希望它删除旧的并创建一个新的

我只需要保存最近7天

和想法?

1 个答案:

答案 0 :(得分:0)

-Start-End接受[System.DateTime],因此您只需使用获取日期并使用AddDays()播放日期 直接来自MSDN。你可以做这样的事情

$endDate = Get-Date # This is today
$startDate = (Get-Date).AddDays(-7) # This is 7 days ago

如果您对日期感觉更舒服并且放弃时间,则可以使用.ToString()方法格式化时间。 注意日期时间对象将丢失,因为它返回一个字符串。

$endDate = (Get-Date).ToString("MM/dd/yy")
$startDate = ((Get-Date).AddDays(-7)).ToString("MM/dd/yy")

有关格式化日期的更多信息,请访问here