Private/Helper/Test-ParameterVersioning.ps1

function Test-ParameterVersioning {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory=$true)]
        [switch]$VersionAutomatic,
        [Parameter(Mandatory=$true)]
        [string]$ParameterSetName,
        [Parameter(Mandatory=$true)]
        [string]$DefaultParameterSetName,
        [string]$Version
    )
    if ($VersionAutomatic -or $ParameterSetName -ne $DefaultParameterSetName){
        $ParameterSetName
    }
    elseif ($Version) {
        if($Version -ne $ParameterSetName) { Write-Warning "You might be using the wrong version, $($ParameterSetName) was detected and $Version was passed." }
        $Version
    }
}