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 a saída a uma variável e ela lhe dará uma matriz dos resultados, então você pode simplesmente 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 (handle), o nome do processo e o tamanho atual do conjunto de trabalho. Você pode alterar isso usando propriedades diferentes da classe de processo WMI .