PowerShell 7.4.2无法通过Get-Help获取OUTPUTS和NOTES内容求助
问题原因与解决方案
原因
Get-Help 返回的 System.Management.Automation.CommandHelpInfo 对象对注释帮助字段做了结构化转换,并非直接映射原始的 .OUTPUTS 和 .NOTES 注释块:
.OUTPUTS被解析为ReturnValues集合属性,而非直接的字符串字段.NOTES被解析为AlertSet下的嵌套内容,不属于顶层可直接访问的属性
而.ROLE属于组件帮助信息范畴,在Get-Help对象中有直接对应的顶层属性,因此能正常获取。
解决方案
直接访问函数的AST(抽象语法树)注释帮助信息,绕过 Get-Help 的结构化解析,获取原始注释字段内容:
- 获取目标函数的AST注释帮助对象:
$targetFunction = "Your-TargetFunction" $rawCommentHelp = (Get-Command $targetFunction).ScriptBlock.Ast.CommentHelpInfo
- 直接读取对应字段的原始内容:
# 获取.OUTPUTS的原始内容 $rawCommentHelp.Outputs # 获取.NOTES的原始内容 $rawCommentHelp.Notes
这种方式能直接拿到和Format-List显示一致的原始字符串内容。
内容的提问来源于stack exchange,提问作者Tribun
相关产品推荐
相关产品推荐

