Передача нескольких значений в один параметр сценария PowerShell
У меня есть скрипт, которому я передаю имена серверов в $ 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
параметр, но если вы этого не сделаете, сценарий автоматически назначает последнее имя сервера$vlan
.
Итак, как вы можете передать один или несколько параметров плюс необязательный именованный параметр в сценарий PowerShell?
В идеале, вот правильные примеры:
.\script.ps1 host1
.\script.ps1 host1 host2 host3
.\script.ps1 host1 host2 -vlan office