Public/Get-Params.ps1

function Get-Params {
    [CmdletBinding()]
    Param (
    [Parameter(Mandatory,ValueFromPipeline)]
    [string]$Function
    )

    begin {
    $Common = @(
        'Debug',
        'ErrorAction',
        'ErrorVariable',
        'InformationAction',
        'InformationVariable',
        'OutVariable',
        'OutBuffer',
        'PipelineVariable',
        'Verbose',
        'WarningAction',
        'WarningVariable',
        'WhatIf',
        'Confirm'
    )
    }

    process {
    try {
        $Params = (Get-Command $Function).Parameters | Select-Object -ExpandProperty Keys
    } catch {
        throw
    }
    $Params | Where-Object {
        if (!$Common.Contains($_)) {
        $_
        }
    }
    }
}