如何指定参数接受自定义脚本cmdlet中的通配符

时间:2015-04-01 22:13:31

标签: powershell

执行Get-Help SomeCommand -Full时,在每个参数下,在描述之后,还有一些其他参数属性。其中一个属性是“接受通配符”?#39;。当我为自定义脚本cmdlet创建帮助信息时,如何指定参数是否接受通配符?

2 个答案:

答案 0 :(得分:3)

如果您希望能够这样做,则需要做一些事情。首先,您要么必须创建一个.dll文件,而不是,您必须创建一个模块。我不会深入介绍创建模块的所有细节,已经有很多关于如何在互联网上执行此操作的精心编写的指南,您可以查看。

作为模块的一部分,您可以包含.XML文件,这些文件提供与各个脚本可用的注释帮助类似的帮助信息。 XML样式确实具有一些优点,例如一致性和一些高级功能,但确实需要更多努力。为此,我强烈建议阅读Writing Help for Windows PowerShell Modules,因为它将解释放置XML文件的位置,如何构建它们,以及所需的标题和不需要的标题。

如果是我,我可能会复制现有的XML帮助文件并对其进行编辑以满足我对cmdlet的需求,找到并阅读一篇关于创建模块的快速而肮脏的文章,然后放弃这个想法,因为只是添加“支持通配符”这样的努力是不值得的。 flag(在我看来)如果这一切都是作为一个带有注释帮助的基本脚本开始的。

但答案是,为cmdlet创建一个模块并支持基于XML的帮助文件。有了它,您可以为参数添加对Accepts Wildcards标志的支持。

答案 1 :(得分:3)

在脚本的param部分中,添加属性SupportsWildcards()

例如:

param (
        [SupportsWildcards()][String]$variable
      )