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

Get-Command的ByPropertyName参数绑定:Name有效Module无效问题

问题原因解析

这是Get-Command参数绑定的特殊逻辑限制:

  • 虽然-Module参数标注支持ByPropertyName管道输入,但它无法单独通过管道触发绑定——必须搭配其他明确的命令筛选条件(比如指定-Name、-CommandType,或者管道对象同时包含Name属性)。
  • 当仅传递含Module属性的对象时,Get-Command会默认执行「列出所有可用命令」的逻辑,不会自动将Module的值作为筛选条件应用。

举两个可正常运行的验证例子:

  1. 同时传递Module和通配符Name,触发筛选逻辑:
[PSCustomObject]@{Module = 'Microsoft.PowerShell.Archive'; Name = '*'} | Get-Command
  1. 手动指定-CommandType,强制触发筛选:
[PSCustomObject]@{Module = 'Microsoft.PowerShell.Archive'} | Get-Command -CommandType Cmdlet

而-Name参数能单独工作,是因为它同时支持ByValue管道输入,且是位置0参数——只要管道对象带有Name属性,PowerShell会直接将值绑定到-Name上,触发按名称筛选的逻辑,无需额外条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:01:09