如何查看 Windows Server 上安装了哪些功能?Where-Object 没有返回任何结果

如何查看 Windows Server 上安装了哪些功能?Where-Object 没有返回任何结果

我开始使用 Windows Server 2016,并且使用的是 CLI 版本。我想确定我的计算机上安装了哪些功能。我尝试通过以下方式查看内容:

Get-WindowsFeature

显然我不喜欢手动阅读所有内容来查看它是否已安装。所以我只想列出实际安装的内容。

我尝试使用以下命令执行此操作:

Get-WindowsFeature | Where-Object {$_."install state" -like "Installed"}

这什么都没有返回(请注意,当我查看所有内容时,已经安装了模块)。当我尝试运行下面的命令时,我实际上得到了返回的内容:

Get-WindowsFeature | Where-Object {$_."name" -like "dns"}

我做错了什么?是命令使用错误吗Where-Object?“安装状态”的底层名称有什么不同吗?

答案1

我正在尝试确定我的计算机上安装了哪些功能。

使用以下 PowerShell 命令:

此 PowerShell 单行命令将导入 ServerManager 模块并显示当前已安装的 Windows 角色和功能。

Import-module servermanager ; Get-WindowsFeature | where-object {$_.Installed -eq $True} | format-list DisplayName

如果要仅返回特定角色或功能是否已安装的 True 或 False,您可以使用以下命令(以 Hyper-V 角色为例):

Import-module servermanager ; (Get-WindowsFeature -name hyper-v).Installed 

有关详细信息,请参阅:For more information, see: http://technet.microsoft.com/en-us/library/cc732757.aspx

来源显示已安装的 Windows 角色和功能

答案2

发送命令的输出Format-Custom总是可以帮助您确定所查找的属性名称。

在这种情况下:

Get-WindowsFeature | Where-Object {$_.InstallState -like "Installed"}

...将解决您的问题。

相关内容