逃脱美元符号在wmi查询过滤器

时间:2016-06-10 12:01:30

标签: powershell

我试图查询名为AOS60 $ 01的服务

get-service 'AOS60$01'工作正常,但是当我使用时:

get-wmiobject win32_service -filter "Name='AOS60$01'"它不会返回任何内容。我认为它认为$ 01是一个变量,并用空字符串替换它,这就是为什么它不起作用。试图用反斜杠逃避美元符号,但它没有奏效。我怎么逃避呢?

2 个答案:

答案 0 :(得分:3)

尝试使用反引号`:

get-wmiobject win32_service -filter "Name='AOS60`$01'"

答案 1 :(得分:2)

当您使用双引号“$ test”时,您将获得变量的值。当你使用单引号'$ test'时,你可以按原样使用它。

当你在字符串中使用单引号时,这两种方法中的任何一种都是合适的:

... -filter "Name='AOS60`$01'"

这使用反引号来逃避它。

或者,您可以使用单引号并转义它们:

... -filter 'Name=''AOS60$01'''

要逃避单一报价,请在其前面添加另一个单引号。