我无法在脚本中访问基于注释的帮助。
我正在使用的命令是这样:
undo
(do-something.ps1在MyDir中)。
我的问题是:
我应该希望该命令在ISE控制台窗格和PS控制台中都能正常工作吗?
我已经查看了Microsoft Documentation,并总结了以下内容。我错过了什么吗?在某些情况下,基于注释的帮助根本不起作用?
PowerShell不会解析脚本的基于注释的帮助,除非:
“基于注释的帮助”部分始于 脚本,或者仅以空行开头。
如果在“基于注释的帮助”部分后接函数声明,则至少要有两个空行。
脚本文件位于$ env:PATH中的目录中。如果$ env:Path中没有它,则必须使用-Path参数。
仅使用有效的基于注释的帮助关键字。如果您拼错一个,则Get-Help命令将静默失败,不会出现任何错误。
Get-Help命令使用正确的语法,例如:
PS C:\MyDir> Get-Help .\do-something.ps1 -Full
位于脚本文件顶部:
PS C:\MyDir> Get-Help .\do-something.ps1 -Full
答案 0 :(得分:1)
我应该希望该命令在ISE控制台窗格和PS控制台中都能正常工作吗?
是的。基于注释的帮助由PowerShell(system.management.automation.dll
)而非主机解析。
是否存在基于注释的帮助根本不起作用的情况?
基于注释的帮助仅在可以执行脚本的情况下起作用。如果执行策略或应用程序控件(例如AppLocker)禁止执行脚本,或者脚本中出现语法错误,则Get-Help
无法显示基于注释的帮助。