I have a script that extracts Excel reports (runs every 15 minutes) that get sent to a mailbox and copies them to a file share and emails different distribution groups based on the name of the report.
If more than one report is downloaded to the folder in the 15 minute period, the script work fine and emails correctly with the name of the report in the email.
The issue is if there is only one report downloaded during the 15 minute period the script still works and sends an email, but instead of the name of the report in the body of the email it says True.
$downloadTemp = 'C:\Test\'
# List the files in the Temporary download folder
$files = (Get-ChildItem $downloadTemp -name)
# Set the Creation date
$exists = (Get-ChildItem $downloadTemp | Measure-Object ).Count
If ($exists -gt 0) {Get-Item $downloadTemp | % {$_.CreationTime = (Get-Date)}
}
# Look for Specific reports
$DailyOpen = $files -Like "Daily Open*"
$DailyProduct = $files -Like "Daily Product*"
$DailyRaised = $files -Like "Daily Raised*"
#More variables
$compareDate = (Get-Date).AddMinutes(-15)
$diff = ((Get-Item $downloadTemp).CreationTime)
If ($diff -gt $compareDate) {
If ([bool]$DailyOpen -eq $True) {
$body = "<HTML><HEAD><META http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"" /><TITLE></TITLE></HEAD>"
$body += "<BODY bgcolor=""#FFFFFF"" style=""font-size: Small; font-family: CALIBRI; color: #000000""><P>"
$body += "Hi All<br><br>"
$body += "This is an email to let you know that a new report " + $DailyOpen + " has arrived in<br><br>"
$body += "\\{fileshare}\"
Send-MailMessage -To "" -From "" -Subject "New Daily Open Complaints Report Notification" -bodyashtml -Body $body -SmtpServer ""
}
If ([bool]$DailyProduct -eq $True) {
$body = "<HTML><HEAD><META http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"" /><TITLE></TITLE></HEAD>"
$body += "<BODY bgcolor=""#FFFFFF"" style=""font-size: Small; font-family: CALIBRI; color: #000000""><P>"
$body += "Hi All<br><br>"
$body += "This is an email to let you know that a new report " + $DailyProduct + " has arrived in<br><br>"
$body += "\\{fileshare}\"
Send-MailMessage -To "" -From "" -Subject "New Daily Product Conversions Report Notification" -bodyashtml -Body $body -SmtpServer ""
}
#More If statements here. 1 for every report variable used.
}