PowerShell:以编程方式访问脚本文档

Uto*_*Ltd 4 powershell powershell-2.0

有没有办法在 get-help 之类的命令之外以编程方式加载 .ps1 脚本文件的文档?换句话说,除了过滤 get-help 本身的字符串输出之外,是否可以通过编程方式访问 .SYNOPSIS、.DESCRIPTION 等下定义的文本?

除此之外,我试图找出脚本库中文档覆盖范围的空白。我还希望能够显示某些脚本的列表并附加其概要。

alr*_*roc 5

是的,这些都是可以访问的。Get-Help返回(就像任何其他 cmdlet 一样)一个对象,该对象的默认呈现就是您在控制台中看到的内容。

但是,如果您get-help通过 泵送 的输出format-list,如下所示:

get-help get-childitem | format-list
Run Code Online (Sandbox Code Playgroud)

您将获得属性的名称/值对的列表。要获取概要,您可以执行以下操作:

get-help get-childitem |select-object -property synopsis
Run Code Online (Sandbox Code Playgroud)

和输出:

Synopsis
--------
Gets the files and folders in a file system drive.
Run Code Online (Sandbox Code Playgroud)

如果您的.ps1文件中没有定义 cmdlet(基于注释的帮助涵盖了整个脚本),get-help file.ps1|select synopsis应该可以工作。否则,您需要“点源”文件以将 cmdlet 定义加载到内存中,然后按get-help上述方式使用。