【问题标题】:Can you provide additional help for common parameters in a PowerShell script?您能否为 PowerShell 脚本中的常用参数提供额外帮助?
【发布时间】:2020-12-26 00:56:11
【问题描述】:

我编写了一个使用Write-Verbose 和公共参数-verbose 的脚本。 现在我想向用户提供更多信息,了解当他们通过Get-Help 指定-verbose 时会发生什么。我尝试像常规参数一样执行此操作,但是当我在脚本中运行 Get-Help 时,它不会被拾取。

<#
.PARAMETER verbose
Help text for Get-Help
#>

有什么方法可以很好地呈现帮助文本还是我必须“滥用”.DESCRIPTION?

【问题讨论】:

    标签: powershell parameters


    【解决方案1】:

    我认为这是不可能的,你似乎已经证实了这一点。

    而不是使用DESCRIPTION,我可能会考虑将NOTES 作为您可以包含此信息的部分。

    或者,如果添加-Verbose 主要影响一个现有参数的操作,最好将信息包含在该参数的内联帮助中。

    我要注意的另一件事是:无论如何,您可能不希望该信息与-Verbose 参数 相关联,因为这不是显示详细输出的唯一方式。

    例如,如果调用者将$VerbosePreference 设置为查看详细输出,则不会绑定-Verbose 参数,但条件仍然可以正确显示。

    【讨论】:

      【解决方案2】:

      由[CmdletBinding] 属性或至少一个以[Parameter] 属性修饰的参数定义的高级函数已包含常用参数,因此您无法再次定义。

      如果你把它变成一个简单函数而不是一个高级函数,你可以单独定义它。

      function Test-Function {
      
          <#
              .PARAMETER verbose
              Additional help text for Get-Help
          #>
      
          param (
              [switch]
              $Verbose
          )
          
          begin {
              
          }
          
          process {
              
          }
          
          end {
              
          }
      }
      
      Get-Help Test-Function -Full
      

      使用自动/保留变量名通常不是一个好主意。

      【讨论】:

        【解决方案3】:

        通用参数(包括详细)是一组适用于所有脚本的已定义单词,这些在基于命令的预定义帮助中也有自己的部分。 除非有办法通过自定义控件(使用 formating files )更改此输出,否则您将不得不使用 comment based help 的普通参数来解决这个问题

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-30
          • 2018-08-08
          • 2012-02-12
          • 1970-01-01
          相关资源
          最近更新 更多