При определении необязательных параметров со значением по умолчанию вы можете либо пропустить параметр в вызове, чтобы скрипт использовал это значение по умолчанию, либо использовать его, чтобы скрипт использовал что-то другое вместо значения по умолчанию.
В качестве примера. Этот скрипт просто выведет то, что используется для параметров $Build
и $Deploy
:
param(
[string]
$Build = "production",
[bool]
$Deploy = 1
)
Write-Host "Using Build value: $Build"
Write-Host "Using Deploy value: $Deploy"
Если я использую это так:
& 'D:\script1.ps1'
Он не получает никаких альтернативных значений для $ Build и $ Deploy, поэтому вывод будет:
Using Build value: production
Using Deploy value: True
Всякий раз, когда вы хотите запустить скрипт со значениями, отличными от их значений по умолчанию, вы добавляете параметр (ы) и значение (я) к вызову следующим образом:
& 'D:\script1.ps1' -Build "something else"
Выход:
Using Build value: something else
Using Deploy value: True
Надеюсь, это объясняет