Нельзя использовать как Mandatory
, так и значение по умолчанию для одного и того же параметра. Почему бы нет? Если у Param есть атрибут Mandatory`, командлет запросит у пользователя значение, если оно не указано.
Если вы хотите использовать значение по умолчанию, укажите его следующим образом:
function Verb-Noun
{
Param
(
# Param1 help description
[ValidateNotNull()]
[ValidateNotNullOrEmpty()]
$Param1 = 'default'
)
"value of `$param1` is $Param1"
}
Если выполняется так
>Verb-Noun -Param1 a
value of $param1 is a
Но если пользователь не предоставляет значение для параметра, будет использоваться значение по умолчанию.
Verb-Noun
value of $param1 is default
Теперь, если мы добавим атрибут Mandatory
следующим образом ...
Param
(
# Param1 help description
[Parameter(Mandatory=$true)]
[ValidateNotNull()]
[ValidateNotNullOrEmpty()]
$Param1 = 'default'
)
#rest of code...
Когда пользователь не сможет предоставить значение для Param1
, пользователю предлагается ввести значение. Нет возможности использовать значение по умолчанию.
Verb-Noun
cmdlet Verb-Noun at command pipeline position 1
Supply values for the following parameters:
Param1:
#function pauses and won't run until a value is provided