You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行Get-PSSubsystem报错:命令未被识别的技术求助

解决PowerShell 7.4.5中Get-PSSubsystem命令未找到的问题

问题现象

执行Get-PSSubsystem时触发以下错误:

Get-PSSubsystem: The term 'Get-PSSubsystem' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

同时存在以下异常表现:

  • 同属Microsoft.PowerShell.Core管理单元的Add-History可正常执行,但Get-Module Microsoft.PowerShell.Core -ListAvailable无输出
  • Get-Help Subsystem | Select Name和Get-Command | sls Subsystem仅返回存储相关的Subsystem命令

原因分析

  1. 版本兼容性限制:Get-PSSubsystem是PowerShell 7.5及后续版本才新增的cmdlet,当前使用的7.4.5版本不包含该命令,这是核心原因。部分微软文档可能未明确标注版本要求,导致误解。
  2. 管理单元与模块的差异:Microsoft.PowerShell.Core是PowerShell的核心管理单元,而非可通过Get-Module查询的模块。Get-Module仅针对模块化组件,因此Get-Module Microsoft.PowerShell.Core -ListAvailable无输出属于正常行为,不代表管理单元未加载。

解决方法

方案1:升级PowerShell版本

将PowerShell升级至7.5或更高版本,升级后Get-PSSubsystem命令会随核心管理单元自动加载,可直接使用。

方案2:无需升级的替代方法

如果无法升级版本,可通过以下方式获取子系统信息:

  • 查看已存在的存储类子系统命令:
    Get-Command -Name *Subsystem
    
  • 通过.NET API直接查询所有子系统(返回底层对象,可按需格式化):
    # 获取所有子系统对象并格式化输出
    [System.Management.Automation.Subsystem.SubsystemManager]::GetSubsystems() | Select-Object Id, Name, Description
    

内容的提问来源于stack exchange,提问作者joseville

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 23:44:52