最佳答案
我有一个脚本,我在 $args 中传递服务器名。
This way I can do stuff to this (these) server(s) using 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
。
So, how can you pass single or multiple parameters plus an optional named parameter to a PowerShell script?
理想情况下,这里有一些有效的例子:
.\script.ps1 host1
.\script.ps1 host1 host2 host3
.\script.ps1 host1 host2 -vlan office