Advertisement
rubber_duck13

Lease Email

Jan 2nd, 2018
1,186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <#
  2. .SYNOPSIS
  3.     Email Manager's their list of upcoming lease PC's
  4. .DESCRIPTION
  5.     Emails managers from a csv with the Lease notifications.
  6. .EXAMPLE
  7.     N/A
  8. .INPUTS
  9.     N/A
  10. .OUTPUTS
  11.     N/A
  12. .NOTES
  13.     File Name  : LeaseEmail.ps1
  14.     Author     : XXXX
  15. .LINK
  16.     N/A
  17. .COMPONENT
  18.     N/A
  19. .ROLE
  20.     N/A
  21. .FUNCTIONALITY
  22.     N/A
  23. #>
  24.  
  25. [cmdletbinding()]
  26. param(
  27.     [string]$from = 'Jim Jones <jim.jones@email.com>',
  28.     [string]$to = 'Billy Bob <billy.bob@email.com>',
  29.     #[string]$cc = ''Jim Jones <jim.jones@email.com>',
  30.     #[string]$bcc = 'Jim Jones <jim.jones@email.com>',
  31.     [string]$subject = 'New Lease',
  32.     [string]$smtpServer = 'email.server.local',
  33.     [string]$respondDate = ((Get-Date).AddDays(7)).ToShortDateString(),
  34.     [Parameter(Mandatory=$true)][string]$csvPath
  35.     )
  36. If ($csvPath -like "*\"){
  37.     $path = $csvPath + "leaseExport.csv"
  38. }
  39. Else {
  40.     $path = $csvPath + "\leaseExport.csv"
  41. }
  42.  
  43. [object]$importData = Import-Csv $path
  44.  
  45. $managersList = $importData.Manager | Select-Object -Unique
  46.  
  47. Foreach ($mgr in $managersList){
  48.     $pcList = $importData | where{$_.Manager -eq $mgr} | Select-Object ServiceTag, Name, DeptNum, Model, Type | ConvertTo-Html
  49.     $mgrFName = (Get-ADUser $mgr).GivenName
  50.     #$to = $importData | where{$_.Manager -eq $mgr} | Select-Object managerEmail | Select-Object -First 1
  51.     #[string]$cc = "'" + (($importData | where{$_.Manager -eq $mgr} | Select-Object EmailAddress).emailaddress -join "', '") + "'"
  52.     $cc = ($importData | where{$_.Manager -eq $mgr}).emailaddress -join ", "
  53.     #$cc = @(($importData | where{$_.Manager -eq $mgr} | Select-Object EmailAddress).emailaddress)
  54.     #$cc = 'email2.user@email.com', 'email2.user@email.com', 'email2.user@email.com'
  55.     $body = ('
  56. <p>Hello ' + $mgrFName + ',</p>
  57. <p>Below is a list of computers in your department that are schedule for lease replacement. Please respond with any CHANGES to our recommendation. If I do not hear from you by ' + $respondDate + ', I will move forward with ordering an equivalent PC to what is listed below.</p>
  58. <h2>Department Computers due for Replacement</h2>
  59. <p>' + $pcList + '</p>
  60. <p>Note: Blah, Blah, Blah.....')
  61.  
  62.     Send-MailMessage -To $to -CC $cc <#-Bcc $bcc#> -From $from -Subject $subject -Body $body -BodyAsHtml -SmtpServer $smtpServer
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement