Migrate RemoteApps from One Farm to Another

'https://www.johndejager.com/index.php/2017/07/18/rds-export-and-import-remote-apps-from-and-to-your-environment/

### Old environment
$ConnectionBrokerOLD = "Old broker"
$CollectionNameOLD = "Old Collection name"
### New environment
$ConnectionBrokerNEW = "New broker"
$CollectionNameNEW = "New Collection name"
### Export path
$ExportPath = "C:\RemoteApp\Export.csv"


Get-RDRemoteApp -CollectionName $CollectionNameOLD -ConnectionBroker $ConnectionBrokerOLD | Export-Csv -Path $ExportPath -NoTypeInformation


Import-Csv -Path $ExportPath | ForEach-Object {
 
    If ($_.CommandLineSetting -eq "Require" ) {
        Write-Host "This RemoteApp ("$_.Alias") has a Required CMDLine"
        New-RDRemoteApp -CollectionName $CollectionNameNEW -ConnectionBroker $ConnectionBrokerNEW -Alias $_.Alias -DisplayName $_.DisplayName -FilePath $_.FilePath -FileVirtualPath $_.FileVirtualPath -FolderName $_.FolderName -IconPath $_.IconPath -IconIndex $_.IconIndex -CommandLineSetting Require
        Start-Sleep 45
        Write-Host "Now updating RemoteApp " ($_.Alias) ""
        Get-RDRemoteApp -CollectionName $CollectionNameNEW -ConnectionBroker $ConnectionBrokerNEW -Alias $_.Alias | Set-RDRemoteApp -CollectionName $CollectionNameNEW -RequiredCommandLine $_.RequiredCommandline
    }
    else {
        Write-Host "this RemoteApp ("$_.Alias") does not have a Required CMDLine"
        New-RDRemoteApp -CollectionName $CollectionNameNEW -ConnectionBroker $ConnectionBrokerNEW -Alias $_.Alias -DisplayName $_.DisplayName -FilePath $_.FilePath -FileVirtualPath $_.FileVirtualPath -FolderName $_.FolderName -IconPath $_.IconPath -IconIndex $_.IconIndex
    }
   
}