如果未通过命令行将所需参数传递给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中做到这一点?