Передача нескольких значений в один параметр сценария 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

Ответы на вопрос(4)

Ваш ответ на вопрос