Вот способ получить информацию о текущих запущенных процессах и отсортировать их по размеру рабочего набора.
Get-Process | Sort-Object -Descending WS
Присвойте этот вывод переменной, и он даст вам массив результатов, затем вы можете просто записать первый член массива (который в этом случае будет объектом System.Diagnostics.Process ).
$ProcessList = Get-Process | Sort-Object -Descending WS
Write-Host $ProcessList[0].Handle "::" $Process.ProcessName "::" $Process.WorkingSet
Вот еще один быстрый и грязный скрипт для выгрузки нескольких элементов данных из списка запущенных в данный момент процессов с помощью поставщика Win32_Process WMI:
$ProcessList = Get-WmiObject Win32_Process -ComputerName mycomputername
foreach ($Process in $ProcessList) {
write-host $Process.Handle "::" $Process.Name "::" $Process.WorkingSetSize
}
Это перечислит PID (дескриптор), имя процесса и текущий размер рабочего набора. Вы можете изменить это, используя различные свойства класса WMI Process .