#powershell #powershell-2.0
Вопрос:
Я пишу сценарий, который выполняет поиск в отчетах журналов аудита за последние 7 дней из Центра соответствия требованиям безопасности Microsoft. Сценарий будет запускаться каждое воскресенье вечером и будет отправлять отчет моему менеджеру за эту неделю.
В моем сценарии у меня очень простая тема, но я подумываю о том, чтобы добавить диапазон дат в тему, чтобы это было более полезно, но я не уверен, как это сделать, поэтому я буду очень признателен, если смогу получить помощь или предложение.
Я хочу, чтобы в теме было что-то вроде «Отчет журнала аудита за период с 22.11.2011 по 28.11.2011».
$logFile = "C:AuditLogSearchAuditLogSearchLog.txt" $outputFile = "C:AuditLogSearchAuditLogRecords.csv" [DateTime]$start = [DateTime]::UtcNow.AddDays(-7) [DateTime]$end = [DateTime]::UtcNow $record = "Discovery" $resultSize = 5000 $intervalMinutes = 60 ##################### # Send Automatic Email ##################### $OL = New-Object -ComObject outlook.application Start-Sleep 5 $mItem = $OL.CreateItem("olMailItem") $mItem.To = "jj@gmail.com" $mItem.Subject = "Weekly Audit Log Report" $mItem.Attachments.Add("C:AuditLogSearchAuditLogSearchLog.txt") $mItem.Body = "SENT FROM POWERSHELL" $mItem.Send()
Ответ №1:
У вас уже есть необходимые детали:
[DateTime]$start = [DateTime]::UtcNow.AddDays(-7) [DateTime]$end = [DateTime]::UtcNow
Просто нужно переодеться $mItem.Subject = "Weekly Audit Log Report"
для:
$mItem.Subject = "Audit Log report from {0}-{1}" -f $start.ToShortDateString(), $end.ToShortDateString()
Ответ №2:
С помощью .ToShortDateString()
этого вы можете получить желаемый результат.
... $mItem.Subject = "Weekly Audit Log Report $($start.ToShortDateString()) - $($end.ToShortDateString())" ...