SingleScripts/Export-Content.ps1
[CmdletBinding()] Param( [Parameter(Mandatory=$true,Position=1)] [string] $DBAPIRootUrl, [Parameter(Mandatory=$True,Position=2)] [string] $DBAPIKey, [Parameter(Mandatory=$True,Position=3)] [string] $DBPathToExport, [Parameter(Mandatory=$True,Position=4)] [string] $TargetPath, [Parameter(Mandatory=$False,Position=5)] [string] $DBExportFormat = "DBC" ) $DBPathToExport = "/" + $DBPathToExport.Replace('\', '/').Trim('/') + "/" $DBAPIUrl = $DBAPIRootUrl.Trim('/') + "/api/2.0/workspace/export" $headers = @{ Authorization = "Bearer $DBAPIKey" "Content-Type" = "application/json" } $parameters = @{ path = $DBPathToExport format = $DBExportFormat } [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 $result = Invoke-RestMethod -Uri $DBAPIUrl -Method GET -Headers $headers -Body $parameters $exportFileName = $($DBPathToExport -replace "/", "__").Trim("__") + "." + $DBExportFormat.ToLower() $exportFileNameFull = "$TargetPath\$exportFileName" $exportBytes = [Convert]::FromBase64String($result.content) [IO.File]::WriteAllBytes($exportFileNameFull, $exportBytes) $exportFileNameFull |