Condividi tramite


Eseguire automaticamente la migrazione da Desktop virtuale Azure (versione classica)

Lo strumento del modulo di migrazione consente di eseguire automaticamente la migrazione dell'organizzazione da Desktop virtuale Azure (versione classica) a Desktop virtuale Azure. Questo articolo illustra come usare lo strumento.

Prerequisiti

Prima di usare il modulo di migrazione, assicurarsi di disporre delle operazioni seguenti:

  • Una sottoscrizione di Azure in cui verranno creati nuovi oggetti del servizio di Azure.

  • È necessario avere il ruolo Collaboratore per creare oggetti di Azure nella sottoscrizione e il ruolo Accesso utenti Amministrazione istrator per assegnare gli utenti ai gruppi di applicazioni.

  • Almeno le autorizzazioni di Collaboratore servizi Desktop remoto (RDS) per un tenant di Servizi Desktop remoto o per i pool di host specifici di cui si sta eseguendo la migrazione.

  • Versione più recente del modulo PowerShell Microsoft.RdInfra.RDPowershell.

  • La versione più recente del modulo Az.DesktopVirtualization di PowerShell.

  • La versione più recente del modulo Az.Resources di PowerShell.

  • Installare il modulo di migrazione nel computer.

  • PowerShell o PowerShell I edizione Standard per eseguire gli script visualizzati in questo articolo. Il modulo Microsoft.RdInfra.RDPowershell non funziona in PowerShell Core.

Importante

La migrazione crea solo oggetti servizio nell'area geografica degli Stati Uniti. Se si tenta di eseguire la migrazione degli oggetti del servizio a un'altra area geografica, non funzionerà. Inoltre, se nella distribuzione di Desktop virtuale Azure (versione classica) sono presenti più di 500 gruppi di applicazioni, non sarà possibile eseguire la migrazione. Sarà possibile eseguire la migrazione solo se si ricompila l'ambiente per ridurre il numero di gruppi di applicazioni all'interno del tenant di Microsoft Entra.

Preparazione dell'ambiente di PowerShell

Prima di tutto, è necessario preparare l'ambiente PowerShell per il processo di migrazione.

Per preparare l'ambiente PowerShell:

  1. Prima di iniziare, assicurarsi di avere la versione più recente dei moduli Az.Desktop Virtualization e Az.Resources eseguendo i cmdlet seguenti:

    Get-Module Az.Resources
    Get-Module Az.DesktopVirtualization
    https://www.powershellgallery.com/packages/Az.DesktopVirtualization/
    https://www.powershellgallery.com/packages/Az.Resources/
    

    In caso contrario, sarà necessario installare e importare i moduli eseguendo questi cmdlet:

    Install-module Az.Resources
    Import-module Az.Resources
    Install-module Az.DesktopVirtualization
    Import-module Az.DesktopVirtualization
    
  2. Disinstallare quindi il modulo di PowerShell RDInfra corrente eseguendo questo cmdlet:

    Uninstall-Module -Name Microsoft.RDInfra.RDPowershell -AllVersions
    
  3. Successivamente, installare il modulo RDPowershell con questo cmdlet:

    Install-Module -Name Microsoft.RDInfra.RDPowershell -RequiredVersion 1.0.3414.0 -force
    Import-module Microsoft.RDInfra.RDPowershell
    
  4. Dopo aver completato l'installazione di tutti gli elementi, eseguire questo cmdlet per assicurarsi di avere le versioni corrette dei moduli:

    Get-Module Microsoft.RDInfra.RDPowershell
    
  5. A questo punto, installare e importare il modulo di migrazione eseguendo questi cmdlet:

    Install-Module -Name PackageManagement -Repository PSGallery -Force
    Install-Module -Name PowerShellGet -Repository PSGallery -Force
    # Then restart shell
    Install-Module -Name Microsoft.RdInfra.RDPowershell.Migration -AllowClobber
    Import-Module <Full path to the location of the migration module>\Microsoft.RdInfra.RDPowershell.Migration.psd1
    
  6. Al termine, accedere a Desktop virtuale Azure (versione classica) nella finestra di PowerShell:

    Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.com
    
  7. Accedere ad Azure Resource Manager:

    Login-AzAccount
    
  8. Se si dispone di più sottoscrizioni, selezionare quella a cui si vuole eseguire la migrazione delle risorse con questo cmdlet:

    Select-AzSubscription -Subscriptionid <subID>
    
  9. Registrare il provider di risorse in portale di Azure per la sottoscrizione selezionata.

  10. Infine è necessario registrare il provider. Questa operazione può essere eseguita nei due modi seguenti:

    • Se si vuole usare PowerShell, eseguire questo cmdlet:

      Register-AzResourceProvider -ProviderNamespace Microsoft.DesktopVirtualization
      
    • Se si preferisce usare il portale di Azure, aprire e accedere al portale di Azure, passare a Sottoscrizioni e selezionare il nome della sottoscrizione da usare. Successivamente, passare a Provider di>risorse Microsoft.DesktopVirtualization e selezionare Registra di nuovo. Non verrà ancora visualizzato alcun cambiamento nell'interfaccia utente, ma l'ambiente PowerShell dovrebbe ora essere pronto per l'esecuzione del modulo.

Eseguire la migrazione di risorse di Desktop virtuale Azure (versione classica) ad Azure Resource Manager

Ora che l'ambiente PowerShell è pronto, è possibile avviare il processo di migrazione.

Per eseguire la migrazione delle risorse di Desktop virtuale Azure (versione classica) ad Azure Resource Manager:

  1. Prima di eseguire la migrazione, se si vuole comprendere in che modo le risorse classiche esistenti verranno mappate alle nuove risorse di Azure Resource Manager, eseguire questo cmdlet:

    Get-RdsHostPoolMigrationMapping
    

    Con Get-RdsHostPoolMigrationMapping, è possibile creare un file CSV che esegue il mapping in cui verranno visualizzate le risorse. Ad esempio, se il nome del tenant è "Contoso" e si vuole archiviare il file di mapping nel file "contosouser", si eseguirà un cmdlet simile al seguente:

    Get-RdsHostPoolMigrationMapping -Tenant Contoso -HostPool Office -Location EastUS -OutputFile 'C:\\Users\contosouser\OneDrive - Microsoft\Desktop\mapping.csv'
    
  2. Eseguire quindi il cmdlet Start-RdsHostPoolMigration per scegliere se eseguire la migrazione di un singolo pool di host o di tutti i pool di host all'interno di un tenant.

    Ad esempio:

    Start-RdsHostPoolMigration -Tenant Contoso -Location WestUS
    

    Se si vuole eseguire la migrazione delle risorse di un pool di host specifico, includere il nome del pool di host. Ad esempio, se si vuole spostare il pool di host denominato "Office", eseguire un comando simile al seguente:

    Start-RdsHostPoolMigration -Tenant Contoso -HostPool Office -CopyUserAssignments $false -Location EastUS
    

    Se non si assegna un nome all'area di lavoro, il modulo ne creerà automaticamente uno in base al nome del tenant. Tuttavia, se si preferisce usare un'area di lavoro specifica, è possibile immettere il relativo ID risorsa nel modo seguente:

    Start-RdsHostPoolMigration -Tenant Contoso -HostPool Office -CopyUserAssignments -Location EastUS -Workspace <Resource ID of workspacename>
    

    Se si vuole usare un'area di lavoro specifica ma non si conosce l'ID risorsa, eseguire questo cmdlet:

    Get-AzWvdWorkspace -WorkspaceName <workspace> -ResourceGroupName <resource group> |fl
    

    Dovrai anche specificare una modalità di assegnazione utente per le assegnazioni utente esistenti:

    • Usare Copia per copiare tutte le assegnazioni utente dai gruppi di applicazioni precedenti ai gruppi di applicazioni di Azure Resource Manager. Gli utenti potranno visualizzare i feed per entrambe le versioni dei client.
    • Usare Nessuno se non si desidera modificare le assegnazioni utente. In un secondo momento, è possibile assegnare utenti o gruppi di utenti ai gruppi di applicazioni con l'API portale di Azure, PowerShell o . Gli utenti potranno visualizzare solo i feed usando i client Desktop virtuale Azure (versione classica).

    È possibile copiare solo 2.000 assegnazioni utente per sottoscrizione, quindi il limite dipenderà dal numero di assegnazioni già presenti nella sottoscrizione. Il modulo calcola il limite in base al numero di assegnazioni già disponibili. Se non si dispone di assegnazioni sufficienti da copiare, verrà visualizzato un messaggio di errore che indica "Quota di assegnazione di ruolo insufficiente per copiare le assegnazioni utente. Eseguire di nuovo il comando senza l'opzione -CopyUserAssignments per eseguire la migrazione."

  3. Dopo aver eseguito i comandi, la creazione degli oggetti del servizio richiederà fino a 15 minuti. Se sono state copiate o spostate assegnazioni utente, questo aggiungerà al tempo necessario per completare la configurazione di tutto il modulo.

    Al termine del cmdlet Start-RdsHostPoolMigration , verranno visualizzate le operazioni seguenti:

    • Oggetti servizio di Azure per il tenant o il pool di host specificato.

    • Due nuovi gruppi di risorse:

      • Un gruppo di risorse denominato "Nome tenant", che contiene l'area di lavoro.

      • Un gruppo di risorse denominato "Tenantname_originalHostPoolName", che contiene il pool di host e i gruppi di applicazioni desktop.

    • Tutti gli utenti pubblicati nei gruppi di applicazioni appena creati.

    • Le macchine virtuali saranno disponibili sia nei pool di host esistenti che in nuovi per evitare tempi di inattività degli utenti durante il processo di migrazione. In questo modo gli utenti si connettono alla stessa sessione utente.

    Poiché questi nuovi oggetti del servizio di Azure sono oggetti di Azure Resource Manager, il modulo non può impostare le autorizzazioni di Controllo di accesso (RBAC) basate sui ruoli o le impostazioni di diagnostica. Sarà quindi necessario aggiornare manualmente le autorizzazioni e le impostazioni del controllo degli accessi in base al ruolo per questi oggetti.

    Dopo che il modulo convalida le connessioni utente iniziali, è anche possibile pubblicare il gruppo di applicazioni in più utenti o gruppi di utenti, se si vuole.

    Nota

    Dopo la migrazione, se si spostano i gruppi di applicazioni in un gruppo di risorse diverso dopo l'assegnazione delle autorizzazioni agli utenti, verranno rimossi tutti i ruoli controllo degli accessi in base al ruolo. Sarà necessario riassegnare nuovamente le autorizzazioni di controllo degli accessi in base al ruolo degli utenti.

  4. Per eliminare tutti gli oggetti servizio Desktop virtuale Azure (versione classica), eseguire Complete-RdsHostPoolMigration per completare il processo di migrazione. Questo cmdlet eliminerà tutti gli oggetti Desktop virtuale Azure (versione classica), lasciando solo i nuovi oggetti di Azure. Gli utenti potranno visualizzare il feed solo per i gruppi di applicazioni appena creati nei client. Al termine di questo comando, è possibile eliminare in modo sicuro il tenant di Desktop virtuale Azure (versione classica) per completare il processo.

    Ad esempio:

    Complete-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Se si vuole completare un pool di host specifico, è possibile includere il nome del pool di host nel cmdlet . Ad esempio, se si vuole completare un pool di host denominato "Office", usare un comando simile al seguente:

    Complete-RdsHostPoolMigration -Tenant Contoso -HostPool Office -Location EastUS
    

    Verranno eliminati tutti gli oggetti servizio creati da Desktop virtuale Azure (versione classica). Verranno lasciati solo i nuovi oggetti di Azure e gli utenti potranno visualizzare solo il feed per i gruppi di applicazioni appena creati nei client. Dopo aver completato la migrazione, è necessario eliminare in modo esplicito il tenant in Desktop virtuale Azure (versione classica).

  5. Se si è cambiato idea della migrazione e si vuole ripristinare il processo, eseguire il cmdlet Revert-RdsHostPoolMigration .

    Ad esempio:

    Revert-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Se si vuole ripristinare un pool di host specifico, è possibile includere il nome del pool di host nel comando . Ad esempio, se si vuole ripristinare un pool di host denominato "Office", immettere un valore simile al seguente:

    Revert-RdsHostPoolMigration -Tenant Contoso -HostPool Office -Location EastUS
    

    Questo cmdlet eliminerà tutti gli oggetti servizio di Azure appena creati. Gli utenti vedranno il feed solo per gli oggetti Desktop virtuale Azure (versione classica) nei client.

    Tuttavia, il cmdlet non eliminerà l'area di lavoro creata dal modulo o dal relativo gruppo di risorse associato. Sarà necessario eliminare manualmente tali elementi per eliminarli.

  6. Se non si vogliono eliminare ancora gli oggetti del servizio Desktop virtuale Azure (versione classica), ma si vuole testare la migrazione, è possibile eseguire Set-RdsHostPoolHidden.

    Ad esempio:

    Set-RdsHostPoolHidden -Tenant Contoso -Hostpool Office -Hidden $true -Location WestUS
    

    L'impostazione dello stato su "true" nasconderà le risorse di Desktop virtuale Azure (versione classica). Impostandolo su "false" verranno visualizzate le risorse agli utenti.

    Il parametro -Hostpool è facoltativo. È possibile usare questo parametro se è presente un pool di host di Desktop virtuale Azure (versione classica) specifico che si vuole nascondere.

    Questo cmdlet nasconderà il feed utente e gli oggetti servizio di Desktop virtuale Azure (versione classica) anziché eliminarli. Tuttavia, questo viene in genere usato solo per i test e non viene conteggiato come migrazione completata. Per completare la migrazione, è necessario eseguire il comando Complete-RdsHostPoolMigration . In caso contrario, ripristinare la distribuzione eseguendo Revert-RdsHostPoolMigration.

Risolvere i problemi di migrazione automatica

Questa sezione illustra come risolvere i problemi comunemente riscontrati nel modulo di migrazione.

Non è possibile accedere al tenant

Prima di tutto, provare a eseguire queste due operazioni:

  • Assicurarsi che l'account amministratore disponga delle autorizzazioni necessarie per accedere al tenant.
  • Provare a eseguire Get-RdsTenant nel tenant.

Se queste due operazioni funzionano, provare a eseguire il cmdlet Set-RdsMigrationContext per impostare il contesto di Servizi Desktop remoto e il contesto ADAL per la migrazione:

  1. Creare il contesto di Servizi Desktop remoto eseguendo il cmdlet Add-RdsAccount .

  2. Trovare il contesto di Servizi Desktop remoto nella variabile globale $rdMgmtContext.

  3. Trovare il contesto ADAL nella variabile globale $AdalContext.

  4. Eseguire Set-RdsMigrationContext con le variabili trovate in questo formato:

    Set-RdsMigrationContext -RdsContext <rdscontext> -AdalContext <adalcontext>
    

Passaggi successivi

Per informazioni su come eseguire manualmente la migrazione della distribuzione, vedere Eseguire manualmente la migrazione da Desktop virtuale Azure (versione classica).

Dopo aver eseguito la migrazione, vedere le esercitazioni su Come funziona Desktop virtuale Azure. Informazioni sulle funzionalità di gestione avanzate in Espandere un pool di host esistente e Personalizzare le proprietà RDP.

Per altre informazioni sugli oggetti servizio, vedere Ambiente Desktop virtuale Azure.