基于注释的帮助未在Powershell中显示

时间:2017-11-01 12:56:19

标签: powershell powershell-v5.0

我正尝试在Windows Server 2016上使用Powershell 5.1实现here所述的基于注释的帮助。

我使用的脚本叫做blah.ps1:

<#
.DESCRIPTION
blah blah
#>
function Blahblah
{
}

在Powershell中,我可以加载脚本:

.\blah.ps1

但是当我使用以下方法寻求关于此功能的帮助时:

Get-Help Blahblah

Powershell仅报告错误:

Get-Help : Get-Help could not find Blahblah in a help file in this session. To download updated help topics type: "Update-Help". To get help online, search for the help topic in the TechNet library at http://go.microsoft.com/fwlink/?LinkID=107116.
At line:1 char:1
+ Get-Help Blahblah
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [Get-Help], HelpNotFoundException
    + FullyQualifiedErrorId : HelpNotFound,Microsoft.PowerShell.Commands.GetHelpCommand

我假设Get-Help可以与自定义帮助注释一起使用。我错过了什么?

2 个答案:

答案 0 :(得分:2)

将脚本导入为模块而不是运行它。

Import-Module .\blah.ps1

答案 1 :(得分:1)

在声明函数时,包括function标题后面的帮助,将其保存在模块中,并导入模块可能是最好的方式来处理它,你可以制作通过确保...... {/ p>,Get-Help可以获得您的脚本帮助

  1. 函数名称和文件名匹配(表示每个文件一个函数),以及......
  2. 确保脚本文件位于$env:PATH
  3. 中的目录中

    可以在函数本身之前声明函数的帮助,前提是帮助的结束#>和函数声明的开头之间只有一个空行。

    请参阅PowerShell帮助或链接的Microsoft文档中的Get-Help about_Comment_Based_Help