脚本任务的PowerShell参数

脚本任务的PowerShell参数,powershell,azure-devops,Powershell,Azure Devops,我正在尝试PowerShell,但在理解参数方面有点困难 我补充说 Param([string]$EmployeZip) 在.ps1文件中 也试过 Param([Parameter(Mandatory=$false)] [System.String] $EmployeZip) 我需要将其作为可选值,这样用户就不必输入它。 我正在尝试使用此powershell创建VSTS任务。问题是,它正在将EmployeZip作为一个必填字段,而不是一个可选字段。 如何将其作为可选字段?感谢您的快速回复。

我正在尝试PowerShell,但在理解参数方面有点困难

我补充说

Param([string]$EmployeZip)
在.ps1文件中

也试过

Param([Parameter(Mandatory=$false)] [System.String] $EmployeZip)
我需要将其作为可选值,这样用户就不必输入它。 我正在尝试使用此powershell创建VSTS任务。问题是,它正在将EmployeZip作为一个必填字段,而不是一个可选字段。
如何将其作为可选字段?

感谢您的快速回复。 我找到了

inputs": [
{
  "name": "EmployeZip",
  "type": "string",
  "label": "EmployeZip",
  "defaultValue": "",
  "required": false,
  "helpMarkDown": "I"
}

我必须在task.json文件中设置“required”:false。这是真的。

您的两个示例都定义了一个可选参数。如果运行脚本时未使用CMD或PowerShell中的参数,则不会出现错误,也不会提示您提供参数值。如果它对您不起作用,那么问题最有可能出现在VSTS端。是否有错误消息?当
$EmployeeZip
$null
时,脚本逻辑执行什么操作?您是否应该给
$EmployeeZip
一个默认值?因为您的问题已经解决,您可以标记答案。