2014-09-19 67 views
4

一个变量我试图筛选出这样的事:使用“筛选器”在PowerShell中

Get-ADComputer -filter {name -like "chalmw-dm*" -and Enabled -eq "true" } .... 

这就像一个魅力,准确地得到我想要的东西......

现在我想在“名状......”一部分这样的变量:

Get-ADComputer -filter {name -like '$nameregex' -and Enabled -eq "true" } | 

我查了一些问题(例如,PowerShell AD Module - Variables in Filter)。但这不适合我。

我用下面的试了一下:

$nameRegex = "chalmw-dm*" 
$nameRegex = "`"chalmw-dm*`"" 

也符合那些',并没有获得-ADComputer命令。

任何人都可以给我一些提示吗?

+0

变量不插入单引号字符串中。 – n0rd 2015-08-20 14:59:38

回答

1

你不需要引号的变量,所以简单地改变这样的:

Get-ADComputer -filter {name -like '$nameregex' -and Enabled -eq "true" } 

到这一点:

Get-ADComputer -filter {name -like $nameregex -and Enabled -eq "true" } 

而且FTR:你在这里使用通配符匹配(操作员-like) ,而不是正则表达式(运算符-match)。

1

添加双引号

$nameRegex = "chalmw-dm*" 

-like "$nameregex"-like "'$nameregex'"

0

或者

-like '*'+$nameregex+'*' 

,如果你想使用通配符。

相关问题