二进制powershell模块命令格式化

时间:2014-12-17 02:38:33

标签: c# powershell powershell-module

我正在编写一个二进制PowerShell模块,它将取代另一个只输出文本的命令行工具。

我有一些遵循powershell动词指南的命令(例如Add-MyModuleUser -UserName "My Username")但是我想有一个重载命令,它接受这些对象的响应并将它们格式化为工具I&#39 ; m替换以下列格式接受输入:

myModule addUserName "My Username"

我的直觉说有一个名为Invoke-MyModule的命令,其别名为myModule,因此我可以调用Invoke-MyModule addUserName "My Username"来调用Add-MyModuleUser并将输出格式化为原始工具。

问题:如何获得powershell命令来接受这样的输入?

注意:我正在阅读看起来很有希望的ParameterSets,我想我可以将参数设置为string,因此字符串中的第一个单词为输入的其余参数设置ParameterSet。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果其余参数基于参数值而不是参数的存在,则可能需要使用"动态参数"。请参阅" get-help about_functions_advanced_parameters",动态参数内容即将结束。

如果使用一系列开关参数(例如-AddUserName)而不是值" addUserName",则参数可以正常。通过存在特定集合专用的参数来选择Para​​meterSets。