У меня есть script, с которым я передаю имя сервера в $args.
Таким образом, я могу сделать материал для этого (этих) серверов (ов), используя foreach
:
.\script.ps1 host1 host2 host3
foreach ($i in $args)
{
Do-Stuff $i
}
Я хотел бы добавить именованный необязательный параметр, называемый vlan. Я пробовал:
Param(
[string]$vlan
)
foreach ($i in $args)
{
Write-Host $i
}
Write-Host $vlan
Он работает, если вы передаете параметр -vlan
, но если вы этого не сделаете, то script auto назначит последнему имени сервера $vlan
.
Итак, как вы можете передать один или несколько параметров плюс необязательный именованный параметр в PowerShell script?
В идеале, здесь приведены примеры:
.\script.ps1 host1
.\script.ps1 host1 host2 host3
.\script.ps1 host1 host2 -vlan office