当在命令行中未指定参数而无需用户输入“!”时,PowerShell是否可以默认显示帮助消息?求助?

如果我希望脚本是交互式的,是否应该不使用param而是通过Read-Host手动进行操作?

param (
    [Parameter(Mandatory=$true,HelpMessage="Enter desired password.")][string]$desired_password,
    [Parameter(Mandatory=$true,HelpMessage="Please input target hostnames.")][string[]]$target_hosts
)

在这种情况下最好的方法是什么?

最佳答案

如果您希望在不指定[String]参数的情况下始终显示一些帮助文本,那么可以,您必须自己编写。例:

param(
  [String] $TestParameter
)

if ( -not $TestParameter ) {
  Write-Host "This is help for -TestParameter."
  while ( -not $TestParameter ) {
    $TestParameter = Read-Host "Enter a value"
  }
}

"Argument for -TestParameter: $TestParameter"

关于powershell - 默认情况下在参数中显示的PowerShell HelpMessage,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38571566/

10-11 01:43