Tôi có một tập lệnh mà tôi chuyển (các) tên máy chủ vào $ args.
Bằng cách này, tôi có thể thực hiện công việc với (các) máy chủ này bằng cách sử dụng foreach
:
.\script.ps1 host1 host2 host3
foreach ($i in $args)
{
Do-Stuff $i
}
Tôi muốn thêm một tham số tùy chọn có tên là vlan. Tôi đã thử:
Param(
[string]$vlan
)
foreach ($i in $args)
{
Write-Host $i
}
Write-Host $vlan
Nó hoạt động nếu bạn truyền một -vlan
tham số nhưng nếu bạn không chuyển thì script sẽ tự động gán tên máy chủ cuối cùng cho $vlan
.
Vì vậy, làm cách nào bạn có thể chuyển một hoặc nhiều tham số cộng với một tham số có tên tùy chọn vào tập lệnh PowerShell?
Tốt nhất, đây là các ví dụ hợp lệ:
.\script.ps1 host1
.\script.ps1 host1 host2 host3
.\script.ps1 host1 host2 -vlan office