提问人:Kenny 提问时间:11/3/2023 更新时间:11/4/2023 访问量:53
将变量与 Get-ADComputer -filter 配合使用
Using a variable with Get-ADComputer -filter
问:
我可能想多了,但无法让这个简单的代码编辑与 Powershell 一起使用
这工作正常
Get-ADComputer -Filter "operatingsystem -like "Windows server 2012"
但是,我想使用一个变量,例如 $ServerOS = “Windows Server 2022”
然后在同一代码中使用该变量,如下所示
Get-ADComputer -Filter "operatingsystem -like "$EOLOS"
但是,由于 -filter 使用“单”引号,因此它不起作用。我将如何编辑代码以使变量工作?
Get-ADComputer -Filter "operatingsystem -like "Windows server 2012"
答:
1赞
Elior Machlev
11/4/2023
#1
我所做的是拆分过滤器参数,将其插入到变量中,并将整个变量称为过滤器。
通过您的示例,您将获得以下结果:
$EOLOS='Windows server 2012'
$Filter='operatingsystem -like "*' + $EOLOS + '*"'
#Filter value: operatingsystem -like "*Windows server 2012*"
Get-ADComputer -Filter $Filter
但是,就您的具体情况而言,听起来最好使用等于 (-eq),因为它是一个确切的值(但由您决定):
$EOLOS='Windows server 2012'
$Filter='operatingsystem -EQ "' + $EOLOS + '"'
#Filter value: operatingsystem -EQ "Windows server 2012"
Get-ADComputer -Filter $Filter
评论
"
Get-ADComputer -Filter "operatingsystem -like '$EOLOS'"
-like
-eq
"operatingsystem -eq '$EOLOS'"
"
`"
""
"operatingsystem -eq `"$EOLOS`""