Aqui está uma maneira de obter informações sobre os processos em execução no momento e classificar por Tamanho do conjunto de trabalho
Get-Process | Sort-Object -Descending WS
Atribua essa saída a uma variável e ela fornecerá uma matriz dos resultados; então, basta escrever o primeiro membro da matriz (que nesse caso será um objeto System.Diagnostics.Process ).
$ProcessList = Get-Process | Sort-Object -Descending WS
Write-Host $ProcessList[0].Handle "::" $Process.ProcessName "::" $Process.WorkingSet
Aqui está outro script rápido e sujo para despejar alguns itens de dados da lista de processos atualmente em execução usando o provedor Win32_Process do WMI:
$ProcessList = Get-WmiObject Win32_Process -ComputerName mycomputername
foreach ($Process in $ProcessList) {
write-host $Process.Handle "::" $Process.Name "::" $Process.WorkingSetSize
}
Isso listará o PID (identificador), o nome do processo e o tamanho atual do conjunto de trabalho. Você pode mudar isso usando propriedades diferentes da classe WMI Process .