Можно ли передать переменную в параметр Get-Counter в PowerShell?

Как можно доработать скрипт для ограничения процесса, чтобы подставить переменную вместо имени процесса, чтобы избежать ошибки "Недопустимый путь к счетчику производительности"?
  • 23 июля 2024 г. 19:12
Ответы на вопрос 2
Да, можно передать переменную в параметр Get-Counter в PowerShell. Например:

```powershell
$processName = "chrome"
Get-Counter -Counter "\Process($processName)\% Processor Time"
```

Чтобы доработать скрипт для ограничения процесса с использованием переменной, можно сделать следующее:

```powershell
$processName = "chrome"
$counterPath = "\Process($processName)\% Processor Time"

if ((Get-Counter -Counter $counterPath -ErrorAction SilentlyContinue)) {
    Get-Counter -Counter $counterPath
} else {
    Write-Host "Недопустимый путь к счетчику производительности"
}
```

Теперь можно использовать переменную `$processName` для указания имени процесса в счетчике и избегать ошибку "Недопустимый путь к счетчику производительности".
Нашёл решение: 
(Get-Counter "\процесс($($process.Name))\% загруженности процессора").CounterSamples.CookedValue
я пока не понял почему именно так, но вроде работает.
Похожие вопросы