我尝试过滤掉这样的东西:
Get-ADComputer -Filter {name -like "chalmw-dm*" -and Enabled -eq "true"} ...
这就像一个魅力,并且得到了我想要的......
现在我想要“类似名称...”部分作为变量,如下所示:
Get-ADComputer -Filter {name -like '$nameregex' -and Enabled -eq "true"} |
我检查了几个问题(例如,PowerShell AD 模块 - 过滤器中的变量 https://stackoverflow.com/questions/19782255/powershell-ad-module-variables-in-filter),但这对我不起作用。
我尝试了以下方法:
$nameRegex = "chalmw-dm*"
$nameRegex = "`"chalmw-dm*`""
并且还在Get-ADComputer
与那些命令'
和没有。
有人能给我一些提示吗?
您不需要在变量周围加上引号,因此只需更改此内容:
Get-ADComputer -Filter {name -like '$nameregex' -and Enabled -eq "true"}
进入这个:
Get-ADComputer -Filter {name -like $nameregex -and Enabled -eq "true"}
但请注意,过滤器语句的脚本块表示法具有误导性,因为该语句实际上是一个字符串,因此最好这样编写:
Get-ADComputer -Filter "name -like '$nameregex' -and Enabled -eq 'true'"
Related https://stackoverflow.com/a/44184818/1630171. 还相关 https://stackoverflow.com/a/34029622/1630171.
FTR:您在这里使用通配符匹配(运算符-like
),不是正则表达式(运算符-match
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)