当所需参数未传递给PowerShell时,如何生成语法“帮助”消息?

时间:2018-01-16 21:29:55

标签: powershell

如果未通过命令行将所需参数传递给PowerShell脚本,如何生成“帮助”消息?

例如:

[CmdletBinding()]
Param(
 [Parameter(Mandatory=$True)]
  [string[]]$servers,
 [Parameter(Mandatory=$True)]
  [string]$proccessID
) #end param

因此,用户需要输入类似:myscript.ps1 -servers server1, server2, server3 -processID 187

的内容

现在,如果他们跳过任何参数,它只会提示输入:

cmdlet myscript.ps1 at command pipeline position 1
Supply values for the following parameters:
servers[0]:

我知道我可以像这样使用Throw

if(-not($servers)) { Throw "You must supply a value for -servers" } 

但这不是我想要的。相反,如果没有输入任何强制参数,我想要一条帮助消息,其语法要写入控制台,脚本要退出,如下所示:

SYNTAX: myscript.ps1 -servers <list of servers, comma separated> -processID <the process ID you are working with> 

...然后退出,以便用户可以再试一次。如何在PowerShell中做到这一点?

0 个答案:

没有答案