Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $servers = Get-Content C:server.txt
- $folder = "D$store"
- $smtpserver = "XXXXXX"
- @(
- foreach ($Server in $Servers)
- {
- $folderSize = ( Get-ChildItem -path \$server$folder -Recurse -Force | Measure-Object -Property Length -Sum ).Sum
- if ($folderSize -gt '60Gb') {
- Write-output "Folder size exceeded 60 GB on server:-$Server. Current size on $server is $folderSize. Please review and take further action." | Out-file -FilePath "C:reslt.txt"
- Send-MailMessage -to abc@abc.com -from xx@xx.com -Subject "Limit Alert" -SmtpServer $smtpserver -Attachments "C:reslt.txt"
- }
- else { Write-output "Folder size is within 60GB on $server." }})
- $servers = Get-Content C:server.txt
- $folder = "D$store"
- $smtpserver = "XXXXXX"
- $results = @()
- foreach ($Server in $Servers) {
- $folderSize = ( Get-ChildItem -path \$server$folder -Recurse -Force | Measure-Object -Property Length -Sum ).Sum
- if ($folderSize -gt '60Gb') {
- Write-Output "Folder size exceeded limit on $server"
- $results += New-Object -TypeName PSObject -Property @{
- ServerName = $Server
- FolderSize = $folderSize
- }
- }
- else { Write-output "Folder size is within 60GB on $server." }
- }
- if ($results.Count -gt 0){
- $bodyString = "Servers over limit:"
- #I'd get fancy here and take $results, format it as a table, and then convert to HTML and put the snippet in the body...
- $results | % {$bodyString += "The server "+$_.ServerName+"is over the limit and is currently at "+$_.FolderSize+"GB`r`n"}
- Send-MailMessage -to abc@abc.com -from xx@xx.com -Subject "Limit Alert" -SmtpServer $smtpserver -Body $bodyString
- }
- else {
- Send-MailMessage -to abc@abc.com -from xx@xx.com -Subject "Limit Alert - no results" -SmtpServer $smtpserver -Body "No results were found for servers over the limit"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement