我希望此脚本中的第二个函数调用引发错误:
function Deploy
{
param(
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[string]$BuildName
)
Write-Host "Build name is: $BuildName"
}
Deploy "Build123"
Deploy #Currently prompts for input
提示对于交互式使用脚本非常有用,但这也将由我们的构建服务器执行。
我最好的选择是只是使用
if
或其他方式进行自定义验证吗? 最佳答案
一旦将该参数标记为强制性,PowerShell将提示输入值。也就是说,如果删除了强制属性,则可以使用throw语句设置默认值:
function Deploy
{
param(
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]$BuildName=$(throw "BuildName is mandatory, please provide a value.")
)
Write-Host "Build name is: $BuildName"
}