Shared/Get-OmnissaProductDownload.ps1

function Get-OmnissaProductDownload {
    <#
        .EXTERNALHELP Evergreen.Omnissa-help.xml
    #>

    param (
        [Parameter(Mandatory = $true,
            Position = 0,
            ValueFromPipelineByPropertyName)]
        [ValidateNotNullOrEmpty()]
        [System.String[]] $Name
    )

    process {
        foreach ($Product in $Name) {
            $OmnissaProduct = Get-OmnissaProductList -Name $Product
            $OmnissaDLG = $OmnissaProduct | Get-OmnissaRelatedDLGList

            foreach ($Dlg in $OmnissaDLG) {
                $params = @{
                    Uri = $(Get-OmnissaDLGDetailsQuery -DownloadGroup $Dlg.code)
                }
                $DownloadFiles = $(Invoke-EvergreenRestMethod @params).downloadFiles
                Write-Verbose -Message "$($MyInvocation.MyCommand): $($DownloadFiles.Count) files found for $($Dlg.code)"

                foreach ($File in $DownloadFiles) {
                    if ([System.String]::IsNullOrEmpty($File.title)) {
                        Write-Verbose -Message "$($MyInvocation.MyCommand): Skipping file with no title"
                    }
                    else {
                        $Result = [PSCustomObject]@{
                            Version     = $File.version
                            ReleaseDate = $([System.DateTime]::ParseExact($File.releaseDate, "yyyy-MM-dd", [System.Globalization.CultureInfo]::CurrentUICulture.DateTimeFormat))
                            Md5         = $File.md5checksum
                            Sha256      = $File.sha256checksum
                            Size        = $File.fileSize
                            Type        = Get-FileType -File $File.fileName
                            URI         = "https://download2.omnissa.com/software/$($Dlg.code)/$($File.fileName)"
                        }
                        Write-Output -InputObject $Result
                    }
                }
            }
        }
    }
}