Фактически моя проблема сводится к следующему:
Я не могу иметь функцию с обязательным параметром и передать $ null этому параметру:
Function Foo
{
Param
(
[Parameter(Mandatory = $true)][string] $Bar
)
Write-Host $Bar
}
Foo -Bar $null
Это возвращает foo: Cannot bind argument to parameter 'Bar' because it is an empty string.
Аналогично, создание массива также не удается:
Function Foo
{
Param
(
[Parameter(Mandatory = $true)][string[]] $Bar
)
Write-Host $Bar
}
Foo -Bar 1, 2
> 1 2
Foo -Bar 1, 2, $null
> foo : Cannot bind argument to parameter 'Bar' because it is an empty string.
В терминах программирования вполне возможно иметь функцию, которая принимает обязательный обнуляемый параметр, но я не могу найти способ сделать это в PowerShell.
Как мне это сделать?