如何隐藏PowerShell参数集?

时间:2018-01-05 12:12:50

标签: powershell parameter-sets

假设您有旧的,不推荐使用的参数集和新的参数集:

SYNTAX
    Get-FooBar -SomeCommonParameter <string> -NewParameter <NewResourceType>

    Get-FooBar -SomeCommonParameter <string> -OldParameter <OldResourceType>

我希望两个参数集继续工作,以保持与现有脚本的兼容性,但我不希望旧的已弃用参数集显示在Get-Help输出中。或者,至少在SYNTAX的{​​{1}}部分内明确标记为已弃用。

PowerShell 4.0中参数属性的Get-Help属性有点帮助,因为IntelliSense / tab完成后不会使用它,但参数集仍会显示在DontShow输出中。

我们目前正在使用PowerShell 3.0,但我不认为更新我们定位的PowerShell版本会成为阻止程序。

1 个答案:

答案 0 :(得分:3)

您是在更改名称,还是功能不同?如果您只是更改名称,请将新名称设为参数名称,并alias旧名称。

如果您还要更改功能,dbatools模块会执行以下操作:

  • 在基于注释的帮助中指出该参数已弃用(在描述参数之前)
  • 使用内部函数测试已弃用的参数名称,并在用户使用过的情况下向用户提供警告消息。

实施例: Get-DbaDiskSpacebegin块调用Test-DbaDeprecationTest-DbaDeprecation解析函数调用以查找传入(已弃用)参数名称的用法。