Migrar automáticamente desde Azure Virtual Desktop (clásico)

Importante

Azure Virtual Desktop clásico se retira el 30 de septiembre de 2026. Las conexiones a los recursos clásicos se bloquearán después de la retirada.

Para evitar interrupciones, migre los recursos clásicos restantes a grupos de hosts basados en Azure Resource Manager antes del 30 de septiembre de 2026.

La herramienta del módulo de migración le permite migrar su organización de Azure Virtual Desktop (clásico) a Azure Virtual Desktop automáticamente. Este artículo le mostrará cómo usar la herramienta.

Requisitos previos

Antes de utilizar el módulo de migración, asegúrese de tener preparadas las siguientes cosas:

  • Una suscripción de Azure en la que creará nuevos objetos de servicio de Azure.

  • Debe tener asignado el rol Colaborador para crear objetos de Azure en la suscripción y el rol Administrador de acceso de usuario para asignar usuarios a los grupos de aplicaciones.

  • Al menos los permisos de colaborador de Servicios de escritorio remoto (RDS) en un inquilino de RDS o en los grupos de hosts específicos que va a migrar.

  • La última versión del módulo de PowerShell Microsoft.RdInfra.RDPowershell.

  • La versión más reciente del módulo Az.DesktopVirtualization de PowerShell.

  • La versión más reciente del módulo Az.Resources de PowerShell.

  • Instale el módulo de migración en el equipo.

  • PowerShell o PowerShell ISE para ejecutar los scripts que verá en este artículo. El módulo Microsoft.RdInfra.RDPowershell no funciona en PowerShell Core.

Importante

La migración solo crea objetos de servicio en la geografía de EE. UU. Si intenta migrar sus objetos de servicio a otra geografía, no funcionará. Además, si tiene más de 500 grupos de aplicaciones en la implementación de Azure Virtual Desktop (clásico), no podrá migrar. Solo podrá migrar si reconstruye el entorno para reducir el número de grupos de aplicaciones dentro del inquilino de Microsoft Entra.

Prepare el entorno de PowerShell

En primer lugar, deberá preparar el entorno de PowerShell para el proceso de migración.

Para preparar el entorno de PowerShell:

  1. Antes de empezar, asegúrese de tener la versión más reciente de los módulos Az.Desktop Virtualization y Az.Resources mediante la ejecución de los siguientes cmdlets:

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

    Si no es así, tendrá que instalar e importar los módulos mediante la ejecución de estos cmdlets:

    Install-module Az.Resources
    Import-module Az.Resources
    Install-module Az.DesktopVirtualization
    Import-module Az.DesktopVirtualization
    
  2. A continuación, desinstale el módulo de PowerShell RDInfra actual ejecutando este cmdlet:

    Uninstall-Module -Name Microsoft.RDInfra.RDPowershell -AllVersions
    
  3. Después, instale el módulo RDPowershell con este cmdlet:

    Install-Module -Name Microsoft.RDInfra.RDPowershell -RequiredVersion 1.0.3414.0 -force
    Import-module Microsoft.RDInfra.RDPowershell
    
  4. Cuando haya terminado de instalar todo, ejecute este cmdlet para asegurarse de que tiene las versiones correctas de los módulos:

    Get-Module Microsoft.RDInfra.RDPowershell
    
  5. Ahora, instalaremos e importaremos el módulo de migración ejecutando estos cmdlets:

    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. Una vez que haya terminado, inicie sesión en Azure Virtual Desktop (clásico) en la ventana de PowerShell:

    Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.com
    
  7. Inicie sesión para Azure Resource Manager:

    Login-AzAccount
    
  8. Si tiene varias suscripciones, seleccione aquella a la que desea migrar los recursos con este cmdlet:

    Select-AzSubscription -Subscriptionid <subID>
    
  9. Registre el proveedor de recursos en Azure Portal para la suscripción seleccionada.

  10. Por último, deberá registrar el proveedor. Hay dos formas de hacerlo:

    • Si quiere usar PowerShell, ejecute este cmdlet:

      Register-AzResourceProvider -ProviderNamespace Microsoft.DesktopVirtualization
      
    • Si prefiere usar Azure Portal, abra e inicie sesión en Azure Portal. Después, vaya a Suscripciones y seleccione el nombre de la suscripción que desea usar. Después de eso, vaya al proveedor> de recursosMicrosoft.DesktopVirtualization y seleccione Volver a registrar. Todavía no verás ningún cambio en la interfaz de usuario, pero el entorno de PowerShell ahora debe estar listo para ejecutar el módulo.

Migrar recursos de Azure Virtual Desktop (clásico) a Azure Resource Manager

Ahora que el entorno de PowerShell está listo, puede empezar el proceso de migración.

Para migrar los recursos de Azure Virtual Desktop (clásico) a Azure Resource Manager:

  1. Antes de migrar, si desea comprender cómo se asignarán los recursos clásicos existentes a los nuevos recursos Azure Resource Manager, ejecute este cmdlet:

    Get-RdsHostPoolMigrationMapping
    

    Con Get-RdsHostPoolMigrationMapping, puede crear un archivo CSV que asigne a dónde irán sus recursos. Por ejemplo, si el nombre de su inquilino es "Contoso" y desea almacenar el archivo de asignación en el archivo "contosouser", ejecutaría un cmdlet similar al siguiente:

    Get-RdsHostPoolMigrationMapping -Tenant Contoso -HostPool Office -Location EastUS -OutputFile 'C:\\Users\contosouser\OneDrive - Microsoft\Desktop\mapping.csv'
    
  2. A continuación, ejecute el cmdlet Start-RdsHostPoolMigration para elegir si desea migrar un único grupo de hosts o todos los grupos de hosts de un inquilino.

    Por ejemplo:

    Start-RdsHostPoolMigration -Tenant Contoso -Location WestUS
    

    Si quiere migrar sus recursos a un grupo de hosts específico, incluya el nombre del grupo de hosts. Por ejemplo, si desea mover el grupo de hosts denominado "Office", ejecute un comando como este:

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

    Si no proporciona un nombre de área de trabajo, el módulo creará automáticamente uno en función del nombre del inquilino. Sin embargo, si prefiere usar un área de trabajo específica, puede escribir su identificador de recurso de la siguiente manera:

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

    Si quiere usar un área de trabajo específica, pero no conoce su identificador de recurso, ejecute este cmdlet:

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

    También deberá especificar un modo de asignación de usuarios para las asignaciones de usuarios existentes:

    • Use Copiar para copiar todas las asignaciones de usuarios de los grupos de aplicaciones anteriores a Azure Resource Manager grupos de aplicaciones. Los usuarios podrán ver fuentes para ambas versiones de sus clientes.
    • Use Ninguno si no desea cambiar las asignaciones de usuarios. Más adelante, puede asignar usuarios o grupos de usuarios a grupos de aplicaciones con Azure Portal, PowerShell o API. Los usuarios solo podrán ver las fuentes con los clientes de Azure Virtual Desktop (clásicos).

    Solo puede copiar 2000 asignaciones de usuario por suscripción, por lo que su límite dependerá de cuántas asignaciones ya haya en su suscripción. El módulo calcula el límite en función de la cantidad de tareas que ya tiene. Si no tiene suficientes asignaciones para copiar, recibirá un mensaje de error que indica "Cuota de asignación de roles insuficiente para copiar asignaciones de usuarios. Vuelva a ejecutar comando sin el modificador -CopyUserAssignments para migrar."

  3. Después de ejecutar los comandos, el módulo tardará hasta 15 minutos en crear los objetos de servicio. Si ha copiado o movido alguna asignación de usuario, esto aumentará el tiempo que tarda el módulo en terminar de configurarlo todo.

    Después de realizar el cmdlet Start-RdsHostPoolMigration , debería ver lo siguiente:

    • objetos de servicio de Azure para el inquilino o grupo de hosts especificado.

    • Dos nuevos grupos de recursos:

      • Un grupo de recursos llamado "Tenantname", que contiene el área de trabajo.

      • Un grupo de recursos llamado "Tenantname_originalHostPoolName", que contiene el grupo de hosts y los grupos de aplicaciones de escritorio.

    • Cualquier usuario que haya publicado en los grupos de aplicaciones recién creados.

    • Las máquinas virtuales estarán disponibles tanto en los grupos de hosts nuevos como en los existentes para evitar el tiempo de inactividad del usuario durante el proceso de migración. Esto permite que los usuarios se conecten a la misma sesión de usuario.

    Dado que estos nuevos objetos de servicio Azure son objetos Azure Resource Manager, el módulo no puede establecer permisos de Access Control basado en roles (RBAC) ni configuraciones de diagnóstico en ellos. Por lo tanto, tendrá que actualizar los permisos y la configuración de RBAC para estos objetos manualmente.

    Una vez que el módulo valida las conexiones de usuario iniciales, también puede publicar el grupo de aplicaciones para más usuarios o grupos de usuarios, si lo desea.

    Nota:

    Después de la migración, si mueve los grupos de aplicaciones a un grupo de recursos diferente después de asignar permisos a los usuarios, se quitarán todos los roles RBAC. Tendrá que volver a asignar los permisos RBAC de los usuarios.

  4. Si quiere eliminar todos los objetos de servicio de Azure Virtual Desktop (clásico), ejecute Complete-RdsHostPoolMigration para finalizar el proceso de migración. Este cmdlet eliminará todos los objetos de Azure Virtual Desktop (clásico), dejando solo los nuevos objetos de Azure. Los usuarios solo podrán ver la fuente de los grupos de aplicaciones recién creados en sus clientes. Una vez ejecutado este comando, puede eliminar de forma segura el inquilino de Azure Virtual Desktop (clásico) para finalizar el proceso.

    Por ejemplo:

    Complete-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Si desea completar un grupo de hosts específico, puede incluir el nombre del grupo de hosts en el cmdlet. Por ejemplo, si quiere completar un grupo de hosts denominado "Office", debe usar un comando como este:

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

    Esto eliminará todos los objetos de servicio creados por Azure Virtual Desktop (clásico). Quedará solo con los nuevos objetos de Azure y los usuarios solo podrán ver la fuente de los grupos de aplicaciones recién creados en sus clientes. Una vez que haya terminado de finalizar la migración, debe eliminar explícitamente el inquilino de Azure Virtual Desktop (clásico).

  5. Si ha cambiado de opinión sobre la migración y desea revertir el proceso, ejecute el cmdlet Revert-RdsHostPoolMigration .

    Por ejemplo:

    Revert-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Si desea revertir un grupo de hosts específico, puede incluir el nombre del grupo de hosts en el comando. Por ejemplo, si desea revertir un grupo de hosts denominado "Office", escribiría algo como esto:

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

    Este cmdlet eliminará todos los objetos de servicio de Azure recién creados. Los usuarios solo verán la fuente de objetos de Azure Virtual Desktop (clásico) en sus clientes.

    Sin embargo, el cmdlet no eliminará el área de trabajo que creó el módulo ni su grupo de recursos asociado. Tendrás que eliminar manualmente esos elementos para deshacerte de ellos.

  6. Si aún no desea eliminar los objetos de servicio de Azure Virtual Desktop (clásico), pero desea probar la migración, puede ejecutar Set-RdsHostPoolHidden.

    Por ejemplo:

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

    Establecer el estado en "true" ocultará los recursos de Azure Virtual Desktop (clásico) de Azure. Establecerlo en "falso" revelará los recursos a los usuarios.

    El parámetro -Hostpool es opcional. Puede usar este parámetro si desea ocultar un grupo de hosts de Azure Virtual Desktop (clásico) específico.

    Este cmdlet ocultará los objetos de servicio y la fuente de usuario de Azure Virtual Desktop (clásico) en lugar de eliminarlos. Sin embargo, esto generalmente solo se usa para pruebas y no cuenta como una migración completa. Para completar la migración, deberá ejecutar el comando Complete-RdsHostPoolMigration . En caso contrario, revierta la implementación ejecutando Revert-RdsHostPoolMigration.

Solucionar problemas de migración automática

En esta sección se explica cómo resolver los problemas más frecuentes en el módulo de migración.

No puedo acceder al inquilino

En primer lugar, prueba estas dos cosas:

  • Asegúrese de que su cuenta de administrador tenga los permisos necesarios para acceder al inquilino.
  • Intente ejecutar Get-RdsTenant en el inquilino.

Si estas dos cosas funcionan, intente ejecutar el cmdlet Set-RdsMigrationContext para establecer el contexto de RDS y el contexto de ADAL para la migración:

  1. Cree el contexto RDS ejecutando el cmdlet Add-RdsAccount .

  2. Busque el contexto de RDS en la variable global $rdMgmtContext.

  3. Busque el contexto de ADAL en la variable global $AdalContext.

  4. Ejecute Set-RdsMigrationContext con las variables que encontró en este formato:

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

Pasos siguientes

Si desea obtener información sobre cómo migrar la implementación manualmente en su lugar, consulte Migración manual desde Azure Virtual Desktop (clásico).

Una vez que haya migrado, conozca cómo funciona Azure Virtual Desktop en nuestros tutoriales. Obtenga información sobre las funcionalidades de administración avanzadas en Expandir un grupo de hosts existente y personalizar las propiedades de RDP.

Para obtener más información sobre los objetos de servicio, consulte el entorno de Azure Virtual Desktop.