Switch parameters

Switch parameters are parameters without any need to assign any value to them. As the name suggests, they act as a switch. By default, their values are $false. Once these parameters are mentioned in the command line, their values become $true. We can use this switch parameter to perform our checks and run their respective script blocks. The following example is a function that connects to a vCenter server or vCloud Director server based on the input that we provide. As parameter values, we accept ServerName and UserName to connect to the server, Password for the connection, and another parameter that will act as a switch. If we mention –VCServer in the command line, then the Connect-VIServer cmdlets will be executed; if –VCDServer is mentioned, then the Connect-CIServer cmdlets will be executed. So, run the following code snippet:

Function Connect-Server{
[CmdletBinding()]
 Param(
    [Parameter(Mandatory=$true)]
            [string]$ServerName,
            [string]$UserName,
       [String]$Pass,
            [switch]$VCServer,
       [Switch]$VCDServer
            )

   If ($VCServer) {
        # Connect-VIServer –Server $VCServer –User -$Username –Password $Pass
        Write-Host "vCenter Server: $ServerName User: $UserName Password: $Pass"
        }
   If ($VCDServer) {
        # Connect-CIServer –Server $VCDServer –User -$Username –Password $Pass
        Write-Host "vCD Server: $ServerName User: $UserName Password: $Pass"
        }  
}
Switch parameters

Since I do not have a vCD environment ready, I have decided to just show the values to the console so that the way they work can be understood.