我创建了这个脚本
$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天
和想法?
答案 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