我试图获取我的一个.NET程序的计数器(使用" PathsWithInstance")。 似乎我不能使用简单的语法,因为简单的引用存在(法语操作系统版本):
Get-Counter -Counter "\Mémoire CLR .NET(MyProgram)\Nombre d'octets dans tous les tas"
我尝试了各种逃避策略,但是我总是收到一个错误,告诉我找不到指定的couonter。
我该怎么逃避?
我发现了这个临时解决方法:
(Get-Counter -Counter "\mémoire clr .net(MyProgram)\*").CounterSamples | Where-Object {$_.Path -match "Nombre d'octets dans tous les tas"}
编辑,由于评论: 所以我仍然不明白为什么这不起作用:
Get-Counter -Counter "\mémoire clr .net(MyProgram)\nombre d'octets dans tous les tas"
并引发以下错误(抱歉用法语):
Get-Counter : Le compteur spécifié n’a pas été trouvé.
Au caractère Ligne:1 : 1
+ Get-Counter -Counter "\mémoire clr .net(MyProgram)\nombre d'octets ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidResult : (:) [Get-Counter], Exception
+ FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.GetCounterCommand
虽然这确实有效:
(Get-Counter -Counter "\mémoire clr .net(MyProgram)\*").CounterSamples | Where-Object {$_.Path -match "nombre d'octets dans tous les tas"}
答案 0 :(得分:0)
对我来说,诀窍是用英语代替法语。
我没有设法用regedit重命名,而是替换了这里描述的文件:https://www.zabbix.com/forum/zabbix-cookbook/7524-how-to-force-perfmon-counters-description-to-be-in-english?p=182838#post182838
重命名文件的脚本:
cd \windows\system32
move perfc00C.dat perfc00C_bak.dat
move perfd00C.dat perfd00C_bak.dat
move perfh00C.dat perfh00C_bak.dat
move perfi00C.dat perfi00C_bak.dat
copy perfc009.dat perfc00C.dat
copy perfd009.dat perfd00C.dat
copy perfh009.dat perfh00C.dat
copy perfi009.dat perfi00C.dat