
我剛開始使用 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" }