3

我有一个非常简单的脚本:

function a-func {

}

<#
.Synopsis
  Testing Get-Help
#>
function another-func {

}

Get-Help another-func

我没有一台带有 Powershell 3 或 4 的机器来仔细检查,但我似乎记得这在 PS 5 之前有效。在 Powershell 5.0 控制台中,这是输出:

C:\Users\Administrator\Documents\WindowsPowerShell> .\testhelp.ps1 Get-Help:Get-Help 在此会话的帮助文件中找不到另一个函数。要下载更新的帮助主题,请键入:“Update-Help”。要获得联机帮助,请在位于http://go.microsoft.com/fwlink/?LinkID=107116的 TechNet 库中搜索帮助主题 。在 C:\Users\Administrator\Documents\WindowsPowerShell\testhelp.ps1:13 char:1 + Get-Help another-func + ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceUnavailable: (:) [Get-Help], HelpNotFoundException + FullyQualifiedErrorId : HelpNotFound,Microsoft.PowerShell.Commands.GetHelpCommand

我尝试将帮助注释放在函数之前以及函数内部。

这是 Powershell 5 中的回归,还是我做错了?目标是从脚本中获取每个功能的帮助输出。

更详细一点:

> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      0      10105  0

> [System.Environment]::OSVersion

Platform ServicePack Version    VersionString
-------- ----------- -------    -------------
 Win32NT             6.3.9600.0 Microsoft Windows NT 6.3.9600.0
4

1 回答 1

0

函数的基于注释的帮助可以出现在以下三个位置之一:

  • 在函数体的开头。

  • 在函数体的末尾。

  • 在 Function 关键字之前。函数帮助的最后一行和 Function 关键字之间不能有超过一个空行。

微软链接: https ://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-5.0

尝试:

function a-func {
}
function another-func {
<#
    .Synopsis
    Testing Get-Help
#>
}

将代码粘贴到 powershell ISE 中,突出显示函数并按 F8,然后在控制台窗格中运行以下命令:

PS> Get-Help another-func

**抱歉,如果有任何格式问题,请通过我的手机回答

于 2018-12-28T23:31:01.720 回答