Как изменить ниже переменную в powershell? - PullRequest
0 голосов
/ 15 февраля 2020

Я хочу сделать так, чтобы я мог выбрать процесс и процессор для каждого из этих процессов и сохранить их в переменной. Например, выбрав первый процесс и сохранив его как переменную $ process1 и $ process1CPU

$Processes = Get-Counter -ErrorAction SilentlyContinue '\Process(*)\% Processor Time' | Select-Object -ExpandProperty countersamples| Select-Object -Property instancename, cookedvalue| ? {$_.instanceName -notmatch "^(idle|_total|system)$"} | Sort-Object -Property cookedvalue -Descending| Select-Object -First 5|  ft InstanceName,@{L='CPU';E={($_.Cookedvalue/100/$env:NUMBER_OF_PROCESSORS).toString('P')}}

1 Ответ

0 голосов
/ 15 февраля 2020

Попробуйте это:

$i = 0
$process = @("Processes")
$processCpu = @("Process CPU")
Get-Process | ForEach {
  $i++
  $process[$i] = $_.ProcessName
  $processCpu[$i] = (Get-Counter '\Process(*)\% Processor Time').CounterSamples).CookedValue
}

Теперь, если вы хотите получить имя процесса 3, используйте $ Process [3], а для его процессора - $ ProcessCpu [3]

...