$ Args cinsinden sunucu adlarını geçirdiğim bir komut dosyam var.
Bu şekilde, bu sunucuları kullanarak şu işlemleri yapabilirim foreach
:
.\script.ps1 host1 host2 host3
foreach ($i in $args)
{
Do-Stuff $i
}
Vlan adında bir adlandırılmış isteğe bağlı parametre eklemek istiyorum. Denedim:
Param(
[string]$vlan
)
foreach ($i in $args)
{
Write-Host $i
}
Write-Host $vlan
Bir -vlan
parametreyi iletirseniz çalışır, ancak bunu yapmazsanız, komut dosyası otomatik olarak son sunucu adını atar $vlan
.
Öyleyse, tek veya birden çok parametrenin yanı sıra isteğe bağlı bir adlandırılmış parametreyi bir PowerShell betiğine nasıl iletebilirsiniz?
İdeal olarak, işte geçerli örnekler:
.\script.ps1 host1
.\script.ps1 host1 host2 host3
.\script.ps1 host1 host2 -vlan office