Ich habe ein Skript, an das ich Servernamen in $ args übergebe.
Auf diese Weise kann ich mit diesen Servern Folgendes tun foreach
:
.\script.ps1 host1 host2 host3
foreach ($i in $args)
{
Do-Stuff $i
}
Ich möchte einen benannten optionalen Parameter namens vlan hinzufügen. Ich habe es versucht:
Param(
[string]$vlan
)
foreach ($i in $args)
{
Write-Host $i
}
Write-Host $vlan
Dies funktioniert, wenn Sie einen -vlan
Parameter übergeben. Wenn Sie dies nicht tun, weist das Skript automatisch den letzten Servernamen zu $vlan
.
Wie können Sie also einzelne oder mehrere Parameter sowie einen optionalen benannten Parameter an ein PowerShell-Skript übergeben?
Im Idealfall sind hier gültige Beispiele:
.\script.ps1 host1
.\script.ps1 host1 host2 host3
.\script.ps1 host1 host2 -vlan office