Переключатели контекста Powershell Count

Я пытаюсь отобразить количество переключений контекста в течение одной секунды в PowerShell. До сих пор я пробовал Get-Counter -Counter "System\Context Switches/sec" как с " ", так и с ' ', и оба приводят к ошибке:

Get-Counter : Internal performance counter API call failed. Error: c0bc4

Я знаю о способности perfmon показать это, мне нужно, чтобы он отображался в виде текста в Powershell.


person Thomas    schedule 31.03.2015    source источник


Ответы (4)


Вам не хватает ведущего \. Это будет работать:

get-counter -Counter "\System\Context Switches/sec"
person arco444    schedule 31.03.2015
comment
Привет, я тоже пробовал это, что привело к тому же коду ошибки. редактировать Почти тот же код — › c0bb9. - person Thomas; 31.03.2015
comment
У меня работает нормально. Когда я использую тот, что указан в вашем вопросе, я получаю тот же код ошибки. Пробовал и во всех версиях powershell, работает в каждой. Пробовали запускать от имени администратора? - person arco444; 31.03.2015
comment
Да, я также запускал его от имени администратора с тем же результатом, странно! - person Thomas; 31.03.2015

Боже, я только что понял, что эти команды зависят от языка. Моя норвежская система принимает только норвежские команды. Так что это решает мою проблему!

Норвежская команда: Get-Counter -Counter "\System\Kontekstvekslinger/sek"

person Thomas    schedule 31.03.2015

Попробуйте указать имя компьютера в пути.

get-counter -Counter "\\<computer-name>\System\Context Switches/sec"

Хотя ответ archo444 должен работать.

person dimm    schedule 31.03.2015
comment
Я тоже проверил это, с тем же результатом :-( - person Thomas; 31.03.2015

$All = Get-Counter -ListSet * | ForEach-Object -Process { $PSItem.Paths; $PSItem.PathsWithInstances; }

get-counter -Counter ($All | Select-String -Pattern "context" )

я получаю ту же ошибку, что и вы, я пытаюсь сделать это и получаю отличный результат

person Soheil Hashemi    schedule 31.03.2015