Powershell基于注释的脚本帮助

时间:2018-11-23 20:23:59

标签: powershell syntax help-system

我无法在脚本中访问基于注释的帮助。

我正在使用的命令是这样:

undo (do-something.ps1在MyDir中)。

我的问题是:

我应该希望该命令在ISE控制台窗格和PS控制台中都能正常工作吗?

我已经查看了Microsoft Documentation,并总结了以下内容。我错过了什么吗?在某些情况下,基于注释的帮助根本不起作用?

PowerShell不会解析脚本的基于注释的帮助,除非:

  1. “基于注释的帮助”部分始于 脚本,或者仅以空行开头。

  2. 如果在“基于注释的帮助”部分后接函数声明,则至少要有两个空行。

  3. 脚本文件位于$ env:PATH中的目录中。如果$ env:Path中没有它,则必须使用-Path参数。

  4. 仅使用有效的基于注释的帮助关键字。如果您拼错一个,则Get-Help命令将静默失败,不会出现任何错误。

  5. Get-Help命令使用正确的语法,例如:

PS C:\MyDir> Get-Help .\do-something.ps1 -Full

  1. “基于注释的帮助”部分的格式正确,例如:

位于脚本文件顶部:

PS C:\MyDir> Get-Help .\do-something.ps1 -Full

1 个答案:

答案 0 :(得分:1)

  

我应该希望该命令在ISE控制台窗格和PS控制台中都能正常工作吗?

是的。基于注释的帮助由PowerShell(system.management.automation.dll)而非主机解析。

  

是否存在基于注释的帮助根本不起作用的情况?

基于注释的帮助仅在可以执行脚本的情况下起作用。如果执行策略或应用程序控件(例如AppLocker)禁止执行脚本,或者脚本中出现语法错误,则Get-Help无法显示基于注释的帮助。