No seu exemplo, a Installed
que você verificou era uma propriedade booleana. É verdadeiro ou falso e você estava verificando todos os objetos em que estava $True
.
Removed
e Available
são valores possíveis de InstallState
, não propriedades diretamente.
Você pode ver isso com
PS> Get-Windowsfeature | Get-Member
TypeName: Microsoft.Windows.ServerManager.Commands.Feature
Name MemberType Definition
---- ---------- ----------
<extra removed>
Installed Property bool Installed {get;}
InstallState Property Microsoft.Windows.ServerManager.Commands.InstallState InstallState {get;}
<extra removed>
Experimente um destes:
Get-Windowsfeature | Where-Object { -not $_.Installed }
Get-WindowsFeature | Where-Object { $_.InstallState -eq "Available" }
Get-WindowsFeature | Where-Object { $_.InstallState -eq "Removed" }