核心是Get-WindowsFeature、Install-WindowsFeature和Uninstall-WindowsFeature三个命令:前者查询角色功能列表及状态,后两者分别用于安装与卸载,支持远程、离线源、批量及管道操作,适用于Server Core与自动化场景。
直接用 powershell 部署和配置 windows 功能/角色,核心是三个命令:获取列表、安装、卸载。整个过程不依赖图形界面,适合批量操作、脚本自动化和 server core 环境。
查清可用功能与当前状态
运行 Get-WindowsFeature 列出所有角色和功能,默认显示 DisplayName、Name、InstallState。关键看 Name(命令行唯一标识)和 Installed(布尔值)或 InstallState(Installed / Available)。
常用筛选方式:
-
查已安装项:
Get-WindowsFeature | Where-Object Installed -
按关键词搜索,比如找 IIS:
Get-WindowsFeature *web*或Get-WindowsFeature | Where-Object DisplayName -like "*Web*" -
查依赖关系,如需确认某功能是否能独立安装,可查看 DependsOn 属性:
Get-WindowsFeature Web-Server | Select-Object Name, DependsOn
安装角色或功能
使用 Install-WindowsFeature(PowerShell 5.1+ 推荐)或兼容的 Add-WindowsFeature(旧版别名)。必须指定 Name,不是 DisplayName。
在 Windows 上执行终端命令,或对比 Windows 与 Linux 的 Shell 语法时使用。建议先检测当前 Shell 是 PowerShell 还是 cmd.exe,再给出相应命令……
典型用法:
-
装单个角色并含管理工具:
Install-WindowsFeature Web-Server -IncludeManagementTools -Verbose -
装多个功能(逗号分隔):
Install-WindowsFeature NET-Framework-Core, RSAT-AD-PowerShell -
从离线源安装 .NET 3.5(常需挂载 ISO 或指定路径):
Install-WindowsFeature NET-Framework-Core -Source D:\sources\sxs -
静默安装到远程服务器:
Install-WindowsFeature DHCP -ComputerName SRV01 -IncludeAllSubFeature
卸载与清理
用 Uninstall-WindowsFeature(或 Remove-WindowsFeature)移除已安装项。注意:部分功能卸载后需重启才能生效,命令会提示。
- 基本卸载:
Uninstall-WindowsFeature Web-Server -Remove(加-Remove可彻底删除二进制文件,节省空间) - 连带子功能一并卸载:
Uninstall-WindowsFeature Web-Server -IncludeAllSubFeature - 卸载远程服务器上的功能:
Uninstall-WindowsFeature Telnet-Client -ComputerName SRV02
验证与故障排查要点
安装完成后建议立即验证状态,避免“看似成功实则失败”:
- 执行完安装命令后,再跑一次
Get-WindowsFeature Web-Server,确认 Installed 为 True - 若安装无报错但未生效,检查是否缺少依赖(如某些功能需先装 .NET Framework)、权限不足(必须以管理员身份运行 PowerShell),或源文件不可达(尤其 .NET 3.5)
- Server Core 系统无 GUI,
-IncludeManagementTools不生效,管理工具需额外安装 RSAT 包或通过远程管理 - Windows Server 2022/2025 中,
Install-WindowsFeature默认支持管道输入,可组合使用:Get-WindowsFeature *dns* | Install-WindowsFeature

















