#CPU write-host "Mostra processos de CPU em porcentagem" $Result = Get-Counter "\Process(*)\% Processor Time" -ErrorAction SilentlyContinue `     | Select-Object -ExpandProperty CounterSamples `     | Where-Object {$_.Status -eq 0 -and $_.instancename -notin "_total", "idle", "" -and $_.CookedValue/$env:NUMBER_OF_PROCESSORS -gt 0} `     | Sort-Object CookedValue -Descending `         | Select-Object @{N="ServerName";E={$env:COMPUTERNAME}},         @{N="ProcessName";E={             $friendlyName = $_.InstanceName             try {                 $procId = [System.Diagnostics.Process]::GetProcessesByName($_.InstanceName)[0].Id                 $proc = Get-WmiObject -Query "SELECT ProcessId, ExecutablePath FROM Win32_Process WHERE ProcessId =$procId"                 $procPath = ($proc | where { $_.ExecutablePath } | select -First 1).ExecutablePath                 $friendlyName = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($procPath).FileDescription             } catch { }             $friendlyName         }},         @{N="CPU_Percent";E={[System.Math]::Round(($_.CookedValue/$env:NUMBER_OF_PROCESSORS), 2)}},         @{N="TimeStamp";E={Get-Date -Format 'dd/MM/yyyy HH:mm:ss.fff'}} -First 15 $Result #Memoria write-host "Mostra processos de Memoria em porcentagem" $RAM=Get-WMIObject Win32_PhysicalMemory | Measure -Property capacity -Sum | %{$_.sum} Get-WmiObject WIN32_PROCESS | Where-Object { $_.name -inotmatch '_total|idle' } | Sort-Object -Property ws -Descending | Select-Object -first 15 processname, processid, @{Name="Mem Usage(%)";Expression={[math]::round(($_.ws*100)/$RAM,2)}}