$ 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