
在 Windows 11 和 Windows Server 系统中,微软为用户提供了大量未默认安装的附加组件和实用工具。根据不同的操作系统版本,你可以通过图形界面或 PowerShell 命令来手动安装这些功能。
然而,整个功能安装体系存在命令混乱、使用方式不统一的问题,这让不少用户,甚至是 Windows Server 管理员也常常感到非常困惑。
举例来说:在安装 RSAT(远程服务器管理工具)时,应该使用哪个 PowerShell 命令?是 Enable-WindowsOptionalFeature、Install-WindowsFeature,还是 Add-WindowsCapability?微软还为这些命令使用了不同的动词(如Enable
、Install
和Add
),进一步加大了理解难度。
在「设置」应用中安装 RSAT 的时候,使用的操作名称是「添加可选功能」。从字面来看,你可能认为这对应 PowerShell 中的Enable-WindowsOptionalFeature
;但实际上,情况远没有这么简单。比如:
- 在 Windows 11 上,如果你在 PowerShell 中执行以下命令,往往什么都查不到。
Get-WindowsOptionalFeature -Online -FeatureName *RSAT*
- 但在 Windows Server 上,这条命令却能正确输出所有 RSAT 相关功能。


Feature 和 Capability 的区别
在 Windows 11 上,RSAT 工具只能通过Add-WindowsCapability
来安装。例如:
Add-WindowsCapability -Name Rsat.DHCP.Tools* -Online
然而,如果你把这条命令照搬到 Windows Server 上,反而会失败。
虽然两个系统都支持Add-WindowsCapability
命令,但 RSAT 在 Windows Server 上并不是以 Capability 的形式存在。核心区别在于:系统是如何管理这些工具的——是直接集成在系统映像内,还是需要联网从微软服务器下载。
- 在 Windows Server 上,RSAT 工具已经包含在安装介质中,因此可以直接通过
Enable-WindowsOptionalFeature
启用。 - 但是在 Windows 11 上,需要联网从微软服务器下载该功能,所以必须使用
Add-WindowsCapability
。
Add-WindowsCapability:从互联网下载并安装功能
Add-WindowsCapability
在本质上,相当于在使用 PowerShell 版本的「设置」>「系统」>「可选功能」>「添加可选功能」。但需要注意的是,只有在以管理员身份登录系统时,才能通过「设置」安装「可选功能」。而 Microsoft Store 应用无法通过runas
方式「以管理员身份启动」。
如果你对比Get-WindowsCapability
命令输出与「设置」中的「可选功能」列表,就会发现,数量差异很大:
- 在 Windows 11 的「设置」中,最多只显示 50/60 来项。
- 而通过
Get-WindowsCapability
查询,这个数值有 400 多项。

这就很明显了——PowerShell 提供了更为细致和全面的功能控制权限。许多在图形界面下无法直接管理的子组件,都可以通过命令行灵活调用。
Enable-WindowsOptionalFeature:启用系统镜像自带的功能
相比之下,Enable-WindowsOptionalFeature
所对应的功能,其实就是「控制面板」>「程序」>「程序和功能」>「程序和功能」中的「启用或关闭 Windows 功能」,这个经典对话框。
到目前为止,Windows 11 的「设置」依然无法直接管理这些系统级组件,这也是为什么「控制面板」还不能被直接拿掉的原因之一。

常见命令如下:
Enable-WindowsOptionalFeature -FeatureName TelnetClient -Online
- 跟
Add-WindowsCapability
一样,在操作当前活动系统时,都需要加上-Online
参数。 - 这两个命令都属于 DISM 模块,也可以通过指定
-Path
参数来修改脱机映像。 - 不过,这两者的参数并不完全一致:
Enable-WindowsOptionalFeature
使用-FeatureName
来指定功能,而Add-WindowsCapability
使用的是-Name
。
Windows Server 角色与功能安装方式
在 Windows Server 上,「服务器管理器」是首选的图形化角色与功能管理工具。当然,你也可以使用 PowerShell 命令来管理,例如经典的Install-WindowsFeature
命令(它还有别名Add-WindowsFeature
)。

常见命令如下:
Install-WindowsFeature -Name Hyper-V, Container
Install-WindowsFeature
总是针对当前运行的服务器,不需要像 DISM 系列命令那样手动指定-Online
。- 但是,如果你在客户端上安装了「服务器管理器」来远程操作其他服务器,别忘了加
-ComputerName
参数,不然就会收到报错——因为这个命令仅适用于服务器环境。
值得一提的是,Windows Server 同样支持前面提到的两条 DISM 命令:
*Add-WindowsCapability*
依然用于从互联网下载额外组件。例如,使用以下命令为服务器安装 IIS:
Enable-WindowsOptionalFeature -FeatureName IIS-WebServer -Online
- 但需要注意的是,
Enable-WindowsOptionalFeature
并不能完全覆盖所有服务器角色及功能。例如像BranchCache
这样的功能,在命令结果中就完全找不到。
此外,微软在这些 PowerShell 命令中对功能名称的定义也都经常不统一 🙂↔️。在Get-WindowsFeature
和Get-WindowsOptionalFeature
的查询结果中,同一个功能可能会使用不同的名称 🥲。
功能安装体系碎片化,选择命令需谨慎
总体来看,Windows 11 和 Windows Server 的「可选功能」安装体系颇为碎片化,且缺乏统一规范。究竟使用哪个工具、哪条命令,取决于你需要安装的具体功能:
- 如果需要联网下载安装,建议通过「设置」应用操作。
- 如果组件已经集成在系统映像中,客户端推荐使用「控制面板」,服务器则建议使用「服务器管理器」。
在命令行层面,情况会更加复杂。PowerShell 并没有像图形界面那样明确划分不同命令的适用范围,例如:
- 某些服务器角色,既可以使用
Install-WindowsFeature
,也能使用Enable-WindowsOptionalFeature
来安装,但它们的功能覆盖范围并不相同。 - 通常来说,如果你只针对正在运行的服务器,不涉及脱机映像,建议优先使用
Install-WindowsFeature
,它在服务器功能管理上更为高效。
最新评论
应用安装失败,错误消息: 从 (Microsoft.NET.Native.Framework.2.2_2.2.29512.0_x64__8wekyb3d8bbwe.Appx) 使用程序包 Microsoft.NET.Native.Framework.2.2_2.2.29512.0_x64__8wekyb3d8bbwe 中的目标卷 C: 执行的部署 Add 操作失败,错误为 0x80040154。有关诊断应用部署问题的帮助,请参阅 http://go.microsoft.com/fwlink/?LinkId=235160。 (0x80040154) 大佬看看怎么解决
安装商店是一直卡在16%
终于关了,爽!!
Microsoft 帐户的远程桌面连接一直有些问题,建议新建一个「本地帐户」来用。