Functions/ps.ps1
|
# Functions\ps.ps1 function ps { param() $processes = Get-Process | Sort-Object CPU -Descending | Select-Object -First 20 Write-Host "" Write-Host " $(ColorCyan)Top 20 Processes by CPU usage:$(ColorReset)" Write-Host "" $header = " " + (vPadLeft "ID" 8) + (vPadLeft "CPU(s)" 10) + (vPadLeft "Mem(MB)" 12) + " ProcessName" Write-Host $header -ForegroundColor Gray Write-Host (" " + ("-" * 60)) -ForegroundColor Gray foreach ($p in $processes) { $id = $p.Id.ToString() $cpu = if ($p.CPU) { "{0:N2}" -f $p.CPU } else { "0.00" } $mem = "{0:N2}" -f ($p.WorkingSet64 / 1MB) $nameColor = if ($p.CPU -gt 100) { ColorRed } elseif ($p.CPU -gt 10) { ColorYellow } else { ColorWhite } $name = VisualWidthTruncate -Text $p.ProcessName -MaxWidth 30 -Mode 2 $line = " " + (vPadRight $id 8) + (vPadRight $cpu 10) + (vPadRight $mem 12) + " ${nameColor}${name}$(ColorReset)" Write-Host $line } Write-Host "" } |