【发布时间】:2018-04-12 17:57:57
【问题描述】:
我正在尝试获取我的一个 .NET 程序的计数器(使用“PathsWithInstance”)。 由于存在简单引号(法语操作系统版本),我似乎无法使用简单语法:
Get-Counter -Counter "\Mémoire CLR .NET(MyProgram)\Nombre d'octets dans tous les tas"
我尝试了各种转义策略,但总是收到错误消息,提示找不到指定的计数器。
我应该如何摆脱它?
我找到了这个临时解决方法:
(Get-Counter -Counter "\mémoire clr .net(MyProgram)\*").CounterSamples | Where-Object {$_.Path -match "Nombre d'octets dans tous les tas"}
编辑,由于 cmets: 所以我还是不明白为什么这不起作用:
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"}
【问题讨论】:
-
'this includes apostrophe''s'->this includes apostrophe's? -
谢谢@ConnorLSW 我知道双引号的诀窍,但在这种情况下它不起作用
-
谢谢@Manu,但是我看到文档并尝试了反引号,双单引号,双引号中的简单引号,但仍然不起作用
-
@Christophe 有撇号问题。开玩笑;)
标签: powershell performancecounter