我有一个脚本,我将 $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