2015-04-01 43 views
1

通配符当你这样做Get-Help SomeCommand -Full,每个参数下的描述后,还有一些额外的参数属性。其中一个属性是“接受通配符?”。当我为自定义脚本cmdlet创建帮助信息时,如何指定参数接受通配符?如何指定一个参数接受一个自定义脚本cmdlet的

+0

我觉得这真的取决于究竟你在做什么。你是用C#写一个cmdlet吗?如果是这样,那么只需在创建参数时(参见代码示例[here](https://msdn.microsoft.com/en-us/library/ms714667(v = vs.85).aspx#declareparametersdataaccess)声明模式参数)。 – TheMadTechnician 2015-04-02 01:05:40

回答

3

如果你希望能够做到这一点,它会需要一些东西。首先,您必须创建一个.dll文件,您不需要创建一个模块,。我不打算详细介绍创建模块的各种细节,现在已经有很多关于如何在互联网上完成这些工作的指导书,您可以查阅。

当你的模块的一部分,你可以包括类似于可用于单个脚本注释的帮助下提供帮助的信息.XML文件。 XML风格确实具有一些优点,例如一致性和一些高级功能,但确实需要更多努力。为此,我强烈建议阅读Writing Help for Windows PowerShell Modules,因为它会解释放置XML文件的位置,如何构造它们,以及所需的标题以及哪些不是。

如果是我,我可能会复制现有的XML帮助文件并对其进行编辑以适应我对cmdlet的需求,查找并阅读其中一个关于创建模块的快捷方法,然后放弃在这个想法上,因为如果这一切都只是作为一个基本的脚本和评论帮助而开始,那么就不需要付出努力来添加'支持通配符'的标志(在我看来)。

但是我的回答是,为您的小命令模块和支持基于XML的帮助文件。有了这个,你可以为你的参数添加对接受通配符标志的支持。

2

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

例:

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

这似乎对定位参数声明非常敏感。我不能让它的工作权利,除非它是第一个属性: '[SupportsWildcards()] [参数()] [字符串] $ ComputerName' – CitizenRon 2017-10-10 16:36:49

相关问题