Sunucu adlarını $ args olarak ilettiğim bir komut dosyası var. Ben foreach
kullanarak bu (bunlar) sunucu (lar) için şeyler yapabilirimBirden çok değeri tek bir PowerShell komut dosyasına geçirme
Bu şekilde: Ben vlan adında bir adlandırılmış isteğe bağlı parametreyi eklemek istediğiniz
.\script.ps1 host1 host2 host3
foreach ($i in $args)
{
Do-Stuff $i
}
. Ben denedim: Bir -vlan
parametre geçirirseniz
Param(
[string]$vlan
)
foreach ($i in $args)
{
Write-Host $i
}
Write-Host $vlan
O çalışıyor ancak o zaman yoksa script otomatik $vlan
son sunucu adı atar.
Peki, PowerShell komut dosyasına nasıl bir veya daha fazla parametreyi artı isteğe bağlı adlandırılmış bir parametreyi iletebilirsiniz?
İdeal olarak, burada geçerli örnekler şunlardır: ana bilgisayarlar için One (bir dizi olabilir) ve vlan için bir tane:
.\script.ps1 host1
.\script.ps1 host1 host2 host3
.\script.ps1 host1 host2 -vlan office
Betiği nasıl çağırılacağına dair bilgileri eklediğiniz için teşekkürler - genellikle powershell'deki gibi küçük parçaları kaçırıyorum. –