Ho uno script a cui passo i nomi dei server in $ args.
In questo modo posso fare cose a questo (questi) server usando foreach
:
.\script.ps1 host1 host2 host3
foreach ($i in $args)
{
Do-Stuff $i
}
Vorrei aggiungere un parametro opzionale denominato chiamato vlan. Ho provato:
Param(
[string]$vlan
)
foreach ($i in $args)
{
Write-Host $i
}
Write-Host $vlan
Funziona se si passa un -vlan
parametro, ma se non lo si fa, lo script assegna automaticamente l'ultimo nome del server a $vlan
.
Quindi, come passare uno o più parametri più un parametro denominato facoltativo a uno script di PowerShell?
Idealmente, ecco esempi validi:
.\script.ps1 host1
.\script.ps1 host1 host2 host3
.\script.ps1 host1 host2 -vlan office