मेरे पास एक स्क्रिप्ट है जिसमें मैं $ args में सर्वर नाम (s) पास करता हूं।
इस तरह से मैं इस (इन) सर्वर (ओं) का उपयोग करके सामान कर सकता हूं 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