我试着过滤掉这样的东西:
Get-ADComputer -Filter {name -like "chalmw-dm*" -and Enabled -eq "true"} ...
Run Code Online (Sandbox Code Playgroud)
这就像一个魅力,正是我想要的......
现在我希望"name-like ..."部分作为这样的变量:
Get-ADComputer -Filter {name -like '$nameregex' -and Enabled -eq "true"} |
Run Code Online (Sandbox Code Playgroud)
我检查了几个问题(例如,PowerShell AD模块 - 过滤器中的变量),但这对我不起作用.
我尝试了以下内容:
$nameRegex = "chalmw-dm*"
$nameRegex = "`"chalmw-dm*`""
Run Code Online (Sandbox Code Playgroud)
而且在Get-ADComputer与那些'和没有的命令中.
谁能给我一些提示?
Ans*_*ers 10
您不需要变量周围的引号,所以只需更改:
Get-ADComputer -Filter {name -like '$nameregex' -and Enabled -eq "true"}
Run Code Online (Sandbox Code Playgroud)
进入这个:
Get-ADComputer -Filter {name -like $nameregex -and Enabled -eq "true"}
Run Code Online (Sandbox Code Playgroud)
但请注意,filter语句的scriptblock表示法具有误导性,因为该语句实际上是一个字符串,因此最好这样写:
Get-ADComputer -Filter "name -like '$nameregex' -and Enabled -eq 'true'"
Run Code Online (Sandbox Code Playgroud)
和FTR:你在这里使用通配符匹配(运算符-like),而不是正则表达式(运算符-match).
| 归档时间: |
|
| 查看次数: |
110621 次 |
| 最近记录: |