public/Get-CTMediaProfile.ps1
Function Get-CTMediaProfile { [cmdletBinding( DefaultParameterSetName='All', #SupportsShouldProcess = $true, ConfirmImpact='high' )] Param( [Parameter( Mandatory=$true, ParameterSetName='All' )] [String]$IP, [Parameter( Mandatory=$true, ParameterSetName='All' )] [pscredential]$Credential, [Parameter( Mandatory=$false, ParameterSetName='All' )] [String]$ProfileId, [Parameter( Mandatory=$false, ParameterSetName='All' )] [String]$Channel ) DynamicParam { $DynamicParameters = @{ CameraType = @{ Mandatory = $true Position = 1 ParameterSetName = "All" Enum = $Script:SupportedCameraModels } } return New-DynamicParameterSet -ParameterTable $DynamicParameters } Begin { Write-Debug "[Get-CTMediaProfile] Started" $CameraType = $PSBoundParameters.CameraType #Build Submission Object $obj = @{ IP = $IP Credential = $Credential } if($ProfileId) { $obj.Add('ProfileId',$ProfileId) } if($Channel) { $obj.Add('Channel',$Channel) } #Choose Camera Model Switch ($CameraType) { Hanwha { return Get-HanwhaMediaProfile -Object $obj } } } } |