【发布时间】:2017-03-16 23:04:37
【问题描述】:
我正在尝试为 Exchange 编写一个 powershell 脚本,该脚本将查找特定邮箱在 1 个月的时间范围内收到的电子邮件数量,并将这些对象总数通过电子邮件发送给特定的个人。到目前为止我得到了:
$date = Get-Date -Format MM/dd/yyyy
$time = Get-Date -Format HH:mm:ss
$previousMonth =
PS C:\> Get-MessageTrackingLog -Recipients:mailbox1.org -start "02/01/2017 00:00:00" -end "$date $time" -EventId "Receive" -ResultSize unlimited | Measure-Object
PS C:\> Get-MessageTrackingLog -Recipients:mailbox2.org -start "02/01/2017 00:00:00" -end "$date $time" -EventId "Receive" -ResultSize unlimited | Measure-Object
PS C:\> Get-MessageTrackingLog -Recipients:mailbox3.org -start "02/01/2017 00:00:00" -end "$date $time" -EventId "Receive" -ResultSize unlimited | Measure-Object
PS C:\> Get-MessageTrackingLog -Recipients:mailbox4.org -start "02/01/2017 00:00:00" -end "$date $time" -EventId "Receive" -ResultSize unlimited | Measure-Object
ps c:\> Send-MailMessage -SmtpServer "server" -To "recipient email<recipient email>" -From "Monthly Mailbox Totals <email address>" -Subject "Monthly Mailbox Item Count" -Body ""
我遇到的问题是:我不太清楚如何计算 -start 输入的日期范围,以便从当前日期和时间获取上个月的第一天,其次我我坚持如何从这个格式化到发送的电子邮件正文中获取总数。如果有帮助的话,我希望这个脚本在每个月的第一天运行。
任何提示将不胜感激在此先感谢您。
【问题讨论】:
-
我在这里看到 2-3 个单独的问题。您应该尝试将自己限制在一个范围内。您可以使用一些日期方法来获取过去的日期,甚至保留当前的格式化逻辑。您甚至没有保存跟踪日志请求的结果。您是否还问如何自动化?
标签: powershell date datetime exchange-server