
Я только начинаю работать с PowerShell, у меня возник вопрос по этой команде:
Get-WindowsFeature | where installed
Он возвращает мне установленные функции, теперь я хотел бы, чтобы все функции были удалены или доступны, но когда я заменяю «установлено» на «удалено/доступно», он ничего не показывает, почему?
Спасибо ребята!
решение1
В вашем примере Installed
вы проверили булево свойство. Оно истинно или ложно, и вы проверяли все объекты, где оно было $True
.
Removed
и Available
являются возможными значениями InstallState
, а не свойствами напрямую.
Вы можете увидеть это с помощью
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>
Попробуйте один из этих вариантов:
Get-Windowsfeature | Where-Object { -not $_.Installed }
Get-WindowsFeature | Where-Object { $_.InstallState -eq "Available" }
Get-WindowsFeature | Where-Object { $_.InstallState -eq "Removed" }