$ 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