Advertisement
Guest User

Untitled

a guest
Aug 25th, 2016
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. $disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object Size, FreeSpace
  2.  
  3. Write-Host ("{0}GB total" -f [math]::truncate($disk.Size / 1GB))
  4. Write-Host ("{0}GB free on C: OS" -f [math]::truncate($disk.FreeSpace / 1GB))
  5.  
  6. CompanyDC
  7. CompanyFileServer
  8. CompanyExchange
  9. CompanyRandomServer
  10.  
  11. $cred = Get-Credential -Credential 'domainuser'
  12. $ServerName = Get-Content "C:tempservers.txt"
  13. $ConvertToGB = (1024 * 1024 * 1024)
  14. $enter1 = "`r"
  15. $enter2 = "`r`n"
  16.  
  17. # Smtp deets
  18. $smtpServer = "relay.appriver.com"
  19. $smtpPort = "2525"
  20. $smtpFrom = "reporting@yourcompany.com"
  21. $smtpTo = "MyEmail@company.com"
  22. $messageSubject = "Daily Server Report"
  23.  
  24. # Set up an SmtpClient
  25. $smtpClient = New-Object Net.Mail.SmtpClient
  26. $smtpClient.Host = $smtpServer
  27. $smtpClient.Port = $smtpPort
  28.  
  29. # Create the MailMessage
  30. $mailMessage = New-Object Net.Mail.MailMessage
  31. $mailMessage.From = $smtpFrom
  32. $mailMessage.To.Add($smtpTo)
  33. $mailMessage.Subject = $messageSubject
  34. $mailMessage.IsBodyHtml = $true
  35.  
  36. # style
  37. $htmlReport += "<style>"
  38. $htmlReport += "BODY{background-color:white;}"
  39. $htmlReport += "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}"
  40. $htmlReport += "TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;}"
  41. $htmlReport += "TD{border-width: 1px;padding: 0px;border-style: solid;border-color: black;}"
  42. $htmlReport += "</style>"
  43.  
  44.  
  45. # table
  46. $htmlReport += "<table>"
  47. $htmlReport += "`n"
  48. $htmlReport += "<tr>"
  49. $htmlReport += "<th>ServerName</th>"
  50. $htmlReport += "<th>Total Space</th>"
  51. $htmlReport += "<th>Free Space</th>"
  52. $htmlReport += "<th>Percent Free</th>"
  53. $htmlReport += "</tr>"
  54. foreach($Server in $ServerName)
  55. {
  56. $disk = Get-WmiObject -Credential $cred Win32_LogicalDisk -ComputerName $Server -Filter "DeviceID='C:'" | Select-Object Size,FreeSpace
  57. $htmlReport += "<tr>"
  58. $htmlReport += "<td>$($Server)</td>"
  59. $htmlReport += "<td>$([Math]::Truncate($disk.Size / $ConvertToGB)) GB </td>"
  60. $htmlReport += "<td>$([Math]::Truncate($disk.FreeSpace / $ConvertToGB)) GB </td>"
  61. if([Math]::Truncate(($disk.FreeSpace / $disk.size) * 100) -le 10)
  62. {
  63. $htmlReport += "<td><font color=red> $([Math]::Truncate(($disk.FreeSpace / $disk.size) * 100)) % </font></td>"
  64. }
  65. if([Math]::Truncate(($disk.FreeSpace / $disk.size) * 100) -gt 10 -and [Math]::Truncate(($disk.FreeSpace / $disk.size) * 100) -le 20)
  66. {
  67. $htmlReport += "<td><font color=orange> $([Math]::Truncate(($disk.FreeSpace / $disk.size) * 100)) % </font></td>"
  68. }
  69. if([Math]::Truncate(($disk.FreeSpace / $disk.size) * 100) -gt 20)
  70. {
  71. $htmlReport += "<td><font color=green> $([Math]::Truncate(($disk.FreeSpace / $disk.size) * 100)) % </font></td>"
  72. }
  73. $htmlReport += "</tr>"
  74. }
  75.  
  76. $htmlReport += "</table>"
  77.  
  78.  
  79.  
  80. # Now create an AlternateView from the HTML contents
  81. $messageBody = [Net.Mail.AlternateView]::CreateAlternateViewFromString($htmlReport, 'text/html')
  82.  
  83. # Add the HTML view to the MailMessage
  84. $mailMessage.AlternateViews.Add($messageBody)
  85.  
  86. # And finally send the message
  87. $smtpClient.Send($mailMessage)
  88. pause
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement