Root/Export-WS1AppCatalog.ps1
<#
.SYNOPSIS Export catalog application to a ZIP file. Similar to the "More->Export" funcution in Admin UI. .PARAMETER Tenant Mandatory: WS1Access Tenant. .PARAMETER Token Mandatory: oAuth2 AccessToken .PARAMETER SaveTo Mandatory: Path to save the downloaded file. .EXAMPLE Export-WS1AppCatalog -Tenant "example.vmware.com" -Token $Token -AppUUID "xxxx-f6da-xxxx-b813-xxx2e31e" -SaveTo "C:\temp\example.zip" #> Function Export-WS1AppCatalog{ [cmdletbinding()] param( [Parameter(Mandatory=$true)][string]$Tenant, [Parameter(Mandatory=$true)][string]$Token, [Parameter(Mandatory=$true)][string]$AppUUID, [Parameter(Mandatory=$true)][string]$SaveTo ) $URI = "https://$($Tenant)/SAAS/jersey/manager/api/catalogitems/$($AppUUID)" $Now = [Math]::Floor([decimal](Get-Date(Get-Date).ToUniversalTime()-uformat "%s")) $Header = @{ Authorization = "HZN $($Token)" Accept = "application/zip" 'Accept-Encoding' = "gzip, deflate, br" } $Body = @{ useAbsoluteUrl = "true" '_t' = $Now locale = "en" } $IRMParams = @{ Method = 'GET' Headers = $Header Body = $Body URI = $URI OutFile = $SaveTo } Write-Debug $($IRMParams | out-string) Return Invoke-WebRequest @IRMParams } |