CVAMT – Citrix Virtual Apps Migration Tool

In qualità di consulente Citrix, mi capita spesso di lavorare a migrazioni di farm Citrix e di conseguenza ho spesso necessità di automatizzare la copia delle applicazioni pubblicate nella vecchia infrastruttura verso la nuova.

Ho per cui sviluppato in Powershell un tool che semplifica la migrazione delle applicazioni pubblicate, permettendo di definire granularmente cosa migrare e in quali Delivery Group di destinazione creare le pubblicazioni.

Il tool è stato sviluppato partendo da script Powershell condivisi dalla Community ed è di conseguenza libero per chiunque vorrà usarlo.

Configurazione iniziale del tool

Il tool si basa sull’utilizzo dei comandi Powershell nativi esposti da Citrix tramite l’utilizzo del SDK. Se il tool viene eseguito su una VM che ha già presente l’SDK, viene visualizzata la voce “Citrix Snapin loaded”; altrimenti il programma presenta un bottone da cui scaricare il pacchetto SDK necessario. Il tool deve essere eseguito da un utente che abbia permessi di accesso alle farm.

Esportazione da farm di origine

Nella sezione “Export from Farm 1”, inserendo l’hostname o l’IP di un controller, è possibile esportare le applicazioni presenti sia in Delivery Groups che in Application Groups.

Importazione in farm di destinazione (On-Prem)

Spostandosi nella sezione “Import in Farm 2”, cliccando sul tasto “Load” vengono caricate tutte le esportazioni eseguite in precedenza (presenti nella cartella temporanea configurata nella prima tab). E’ possibile selezionare singolarmente le applicazioni che si vogliono importare o cliccare su “Select All” per selezionare tutte le applicazioni disponibili nel Delivery/Application Group selezionato.

Inserire l’host name o l’IP di un controller della farm di destinazione, connettersi, selezionare un Delivery Group di destinazione e importare le applicazioni selezionate in precedenza.

Importazione in Citrix Cloud

Le stesse attività eseguibili per l’importazione in una farm on-prem sono identicamente disponibili anche verso il Citrix Cloud. Diversamente dall’autenticazione on-prem, verso il Citrix Cloud è necessario autenticarsi tramite il caricamento di un file secureclient.csv (generato dal portale citrix.cloud.com) e dal CustomerId del tenant Cloud in uso.

Uno dei problemi che ho riscontrato durante l’utilizzo del Citrix Cloud è l’impossibilità di caricare file .ico desiderati in fase di pubblicazione di applicazioni custom (non recuperate automaticamente dallo start menu di una macchina esistente).

Volendo pubblicare una nuova applicazione, non presente nello start menu, si avrebbero a disposizione esclusivamente queste icone:

Citrix Cloud change Application icon

Come potete vedere, rispetto al Citrix Studio on-prem, non è possibile selezionare altre icone rispetto alle 9 disponibili. L’unica opzione possibile è cambiare l’icona tramite comandi Powershell.
In CVAMT ho per cui aggiunto la possibilità di selezionare applicazioni pubblicate precedentemente in Citrix Cloud e sostituirne l’icona presente. Così facendo è possibile pubblicare applicazioni con le icone desiderate.

Caricamento icona personalizzata

In caso in cui la farm sorgente e destinazione non siano raggiungibili dalla stessa VM in uso, è sufficiente copiare il contenuto della cartella temporanea (dove sono state eseguite le esportazioni), in una cartella temporanea su un’altra VM da cui eseguire l’importazione. Resta chiaro che se i domini AD dovessero essere diversi, non sarebbe garantita l’importazione degli eventuali utenti/gruppi abilitati alle applicazioni.

Aggiornamento del 22/05/2020:
Ho notato che il tool, se eseguito direttamente su un Delivery Controller, si freeza in diverse occasioni. Le chiamate powershell sono state scritte per essere eseguite su una VM con a bordo il bacchetto CitrixPoshSdk:
https://download.apps.cloud.com/CitrixPoshSdk.exe
Tale pacchetto è diverso dal SDK che viene installato di default insieme a Citrix Studio e potrebbe per cui essere il motivo dei freeze. Approfondirò la questione nei prossimi giorni.

Le funzionalità di questo tool sono da considerare non garantite. Non sarò responsabile di malfunzionamenti e/o problemi derivanti dall’uso del suddetto tool. Consiglio di verificare manualmente le risorse migrate, al termine dell’attività di migrazione delle stesse.

Di seguito il link al repository per il Download:

Changelog

1.0.0.20
  • 1 mese ago Add Prima pubblicazione
  • 1 mese ago Update importazione nel Citrix Cloud non totalmente implementata
1.0.0.25
  • 1 mese ago Add Implementazione importazione in Citrix Cloud terminata;
  • 1 mese ago Update risoluzione freeze GUI e ottimizzazioni varie;
1.0.0.26
  • 1 mese ago Add Freeze GUI in fase di importazione in Citrix Cloud risolto; ottimizzazione GUI.
1.0.1.2
  • 1 mese ago Add Aggiunta funzionalità di cambio icona in Citrix Cloud

Share with: