title: Multiple powershell switch parameters - can it be optimized?
body: <p>I am trying to write a simple wrapper that accept one parameter for the output.
  This is how it looks now</p>
  
  <pre><code>function Get-data{
  param (
      [switch]$network,
      [switch]$profile,
      [switch]$server,
      [switch]$devicebay
   )
  
      if ($network.IsPresent) { $item = "network"}
      elseif ($profile.IsPresent) {$item = "profile"}
      elseif ($server.IsPresent) {$item = "server"}
      elseif ($devicebay.IsPresent){$item = "devicebay"}
  
      $command = "show $item -output=script2"
  }
  </code></pre>
  
  <p>Clearly this could be optimize but I am struggling to wrap my head around on how I can achieve it .Is there some easy way to ensure only single parameter is accepted and used without resorting to multiple elseif statements?<br>
  Also I would like to provide array of paramters instead doing it the way it is done at the moment.</p>