$cpuservers = Get-Content C:\Scripts\High_CPU_Utliztn\Servers.txt
$email = "" | Select Host,From,To,Subject,Body,Attachment
$alertFilename="C:\Scripts\High_CPU_Utliztn\cpuprodatro.htm"
$emailSubject="HIGH CPU USAGE ON ASRO CITRIX SERVERS."
$emailFrom = "WinAdmin@Atro.com"
#$emailTo = "nishntsh@amdcs.com"
$emailTo = "itgsstrowindows@ams.com"
#$emailTo = "hantsh@amdcs.com, SHRANB@amocs.com, AJIM@amdcs.com, MOHANISJ@amocs.com, KSBA@amcs.com"
$emailhost = "10.24.12.26"
function sendemail ($cpuprdemail) {
$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>"
function get-cpuload {
param (
[parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
[string[]]$ComputerName = $env:computername
)
begin {}
process {
foreach($Computer in $ComputerName)
{
$LoadPercentage = Get-WmiObject win32_processor -computername $Computer | select -exp LoadPercentage
$log = New-Object psobject -Property @{
Server = $Computer
LoadPercentage = ($LoadPercentage | measure -Average).Average
}
$log
}
}
}
Get-cpuload -comp $cpuservers | Where-object {$_.LoadPercentage -gt 90.00} | ConvertTo-HTML -head $b > C:\Scripts\High_CPU_Utliztn\cpuprodatro.htm
No comments:
Post a Comment