如何在powershell中将以下内容更改为变量?

问题描述 投票:1回答:1

我想这样做,因此我可以为每个进程选择进程和CPU,并将它们保存在变量中。例如,选择第一个进程并将其保存为变量$ 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')}}
powershell process wmi cpu
1个回答
0
投票

尝试一下:

$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],而其CPU使用$ ProcessCpu [3]

© www.soinside.com 2019 - 2024. All rights reserved.