想知道我想念的是什么
Get-WindowsFeature | where {{($_.Installed -eq "$True") -and ($_.FeatureType -eq "$Role")}} | Format-List name,i
nstalled,featuretype
我收到相反的结果,False + true + Feature + Role
..
答案 0 :(得分:1)
您的Where-Object
cmdlet中不需要两个大括号,一个就足够了。我没有看到$Role
已定义,但在您发表评论后,我认为它是一个字符串数组,如下所示:$Role = @('Feature', 'role', 'role service')
。
您必须使用-In
参数来检查FeatureType
是$Role
中定义的类型之一,而不是-eq
。此外,您可以省略$true
支票上的引号:
Get-WindowsFeature |
Where { $_.Installed -eq $true -and $_.FeatureType -In $Role } |
Select Installed, FeatureType