2014-09-19 77 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+'*' 

,如果你想使用通配符。

相關問題