get-windowscapability 命令可查询 windows 可选功能组件,支持按状态筛选(installed/notpresent)、关键词搜索(如 openssh、.net)、导出 csv(含 description 字段),并可用 -limitaccess 参数离线查询。
可以通过 powershell 的 get-windowscapability 命令获取当前 windows 系统中已安装(或可用)的可选功能组件列表,包括 .net framework、openssh、字体、语言包等。
查看所有已安装的 Windows 功能组件
运行以下命令,仅显示状态为 Installed 的组件:
Get-WindowsCapability -Online | Where-Object State -eq 'Installed' | Select-Object Name, State, DisplayName查看所有可用(含未安装)的组件及状态
该命令列出全部可选功能,便于筛选或后续启用:
-
Name 是内部标识符(如
OpenSSH.Client~~~~0.0.1.0),启用/卸载时需使用此名称 -
State 可能为
Installed、NotPresent或Unknown - 加
-LimitAccess参数可跳过 Windows Update 源,仅查本地缓存(适合离线环境)
按关键词快速筛选特定组件
例如查找所有与 OpenSSH 相关的条目:
Get-WindowsCapability -Online | Where-Object { $_.Name -like "*OpenSSH*" } | Format-List Name, State, DisplayName- 替换
"*OpenSSH*"为"*.NET*"、"*Font*"或"*Language*"即可定位对应类别 - 用
Format-List更清晰地展示字段,尤其适合长名称或含版本号的组件
导出结果到 CSV 文件便于分析
将完整列表保存为表格文件,方便搜索或归档:
Get-WindowsCapability -Online | Select-Object Name, State, DisplayName, Description | Export-Csv -Path "$env:USERPROFILE\Desktop\WinCapabilities.csv" -Encoding UTF8 -NoTypeInformation- 导出路径可自定义,注意确保目标文件夹有写入权限
- 包含
Description字段有助于理解组件用途(部分组件此项为空) - 使用
UTF8编码避免中文显示乱码











