Sunday, March 5, 2017

HIGH MEMORY USAGE ON SERVERS


$memservers = Get-Content C:\Scripts\High_Mem_Utliztn\Servers.txt

$email = "" | Select Host,From,To,Subject,Body,Attachment
$alertFilename="C:\Scripts\High_Mem_Utliztn\memprodasro.htm"
$emailSubject="HIGH MEMORY USAGE ON ASRO CITRIX SERVERS."
$emailFrom = "WinAdmin@Aso.com"
#$emailTo = "nishantsh@amocs.com"
$emailTo = "itgssarowindows@amcs.com"
#$emailTo = "nistsh@amocs.com, SHVANB@amocs.com, AJAM@amcs.com, MOHNISJ@amcs.com, KAUSTUBA@amdcs.com"
$emailhost = "10.24.12.26"


function sendemail ($memprdemail) {
    $SmtpClient = new-object system.net.mail.smtpClient
    $SmtpClient.host = $emailhost
    $msg = new-object system.net.mail.MailMessage
    $msg.From = $emailFrom
    $msg.To.Add($emailTo)
    $msg.Subject = $emailSubject
    $msg.Body = Get-Content $alertFilename
    $msg.IsBodyHtml = "True"
    $SmtpClient.Send($msg)
}


$b = "<style>"
$b = $b + "BODY{background-color:white;}"
$b = $b + "TABLE{text-align: center;border-width: 1px;border-style: solid;border-color: black;border-collapse: separate;}"
$b = $b + "TH{border-width: 1px;padding: 5px;border-style: solid;border-color: White;font-size:11pt;font-style: bold; color: white;background-color:#084B8A}"
$b = $b + "TD{border-width: 1px;padding: 5px;border-style: solid;border-color: White;font-size:10pt;font-weight: bold;font-style: bold; color: black;background-color:red}"
$b = $b + "</style>"

Get-WmiObject win32_operatingsystem -comp $memservers | select __SERVER,@{name="Total Memory (GB)";expression={($_.TotalVisibleMemorySize/1mb).tostring("N1")}}, @{name="Free Memory (GB)";expression={($_.FreePhysicalMemory/1mb).tostring("N1")}},@{name="MemoryUsage_Percent";expression={100-(($_.FreePhysicalMemory/$_.TotalVisibleMemorySize)*100).tostring("N0")}} |  Where-object  {$_.MemoryUsage_Percent -gt 90} | ConvertTo-HTML -head $b > C:\Scripts\High_Mem_Utliztn\memprodastro.htm


Get-WmiObject win32_operatingsystem -comp $memservers | select __SERVER,@{name="Total Memory (GB)";expression={($_.TotalVisibleMemorySize/1mb).tostring("N1")}}, @{name="Free Memory (GB)";expression={($_.FreePhysicalMemory/1mb).tostring("N1")}},@{name="MemoryUsage_Percent";expression={100-(($_.FreePhysicalMemory/$_.TotalVisibleMemorySize)*100).tostring("N0")}} |  Where-object  {$_.MemoryUsage_Percent -gt 90} > C:\Scripts\High_Mem_Utliztn\memprodasro.txt


if((Get-Content "C:\Scripts\High_Mem_Utliztn\memprodasro.txt") -ne $null)
{sendemail $memprdemail}

No comments:

Post a Comment