我可能想得太多了,但无法让这个简单的代码编辑与 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"
我所做的是拆分过滤器参数,将其插入到一个变量中,并将整个变量称为过滤器。
通过您的示例,您将得到以下结果:
$EOLOS='Windows server 2012'
$Filter='operatingsystem -like "*' + $EOLOS + '*"'
#Filter='operatingsystem -like "*Windows server 2012*"
Get-ADComputer -Filter $Filter
但是,就您的具体情况而言,听起来最好使用等于(-eq),因为它是一个精确值(但由您决定):
$EOLOS='Windows server 2012'
$Filter='operatingsystem -EQ "' + $EOLOS + '"'
#Filter='operatingsystem -EQ "Windows server 2012"
Get-ADComputer -Filter $Filter