La migración de inquilino a inquilino deja enlaces para compartir rotos: solución para OneDrive for Business
🔍 WiseChecker

La migración de inquilino a inquilino deja enlaces para compartir rotos: solución para OneDrive for Business

Después de una migración de inquilino a inquilino, los usuarios a menudo descubren que los enlaces para compartir a archivos y carpetas en OneDrive for Business ya no funcionan. Estos enlaces devuelven errores como “Acceso denegado” o “Elemento no encontrado” porque los ID de archivo subyacentes y las URL del inquilino han cambiado durante la migración. Este artículo explica por qué los enlaces para compartir se rompen durante una migración entre inquilinos y proporciona un método paso a paso para restaurarlos utilizando las herramientas nativas de Microsoft y scripts de PowerShell.

Conclusiones clave: Cómo arreglar los enlaces para compartir de OneDrive rotos después de la migración de inquilinos

  • Centro de administración de Microsoft 365 > Configuración > Configuración de la organización > SharePoint > Compartir: Controla los permisos de enlace a nivel de inquilino y las políticas de expiración que afectan el comportamiento posterior a la migración.
  • SharePoint Online Management Shell + Microsoft Graph PowerShell: Necesario para restablecer en masa los enlaces para compartir de las bibliotecas de OneDrive migradas usando los cmdlets Set-SPOSite y Update-MgDriveItem.
  • Aplicación de sincronización de OneDrive > Configuración > Desvincular este PC: Debe ejecutarse antes de la migración para evitar conflictos de sincronización que puedan dañar los metadatos del enlace.

ADVERTISEMENT

Por qué la migración de inquilino a inquilino rompe los enlaces para compartir de OneDrive

Cuando mueves el OneDrive de un usuario de un inquilino a otro, el inquilino de destino asigna un nuevo ID de sitio, un nuevo ID de biblioteca de documentos y nuevos ID de archivo únicos. Los enlaces para compartir contienen estos ID como parte de la URL. Por ejemplo, un enlace como https://oldtenant-my.sharepoint.com/personal/user_oldtenant_com/_layouts/15/guestaccess.aspx?share=... incluye el identificador del inquilino antiguo y el GUID del archivo. Después de la migración, el archivo existe en una nueva URL bajo el nuevo inquilino. El enlace antiguo apunta a una ubicación que ya no existe o que pertenece a un inquilino diferente. La infraestructura de uso compartido de Microsoft no redirige automáticamente los enlaces antiguos a la nueva ubicación porque la migración es un movimiento completo de contenido, no un cambio de nombre.

Dos tipos de enlaces rotos

Hay dos categorías de enlaces rotos después de una migración de inquilino a inquilino:

1. Enlaces compartidos desde OneDrive a usuarios externos. Estos enlaces dependen del token de acceso de invitado del inquilino antiguo. Después de la migración, el token no es válido porque el archivo ya no reside en el inquilino antiguo. Los usuarios externos ven una página de “Acceso denegado”.

2. Enlaces compartidos dentro de la organización entre diferentes inquilinos. Si la migración implicó dividir una empresa en dos inquilinos, los usuarios internos del nuevo inquilino no pueden abrir enlaces que aún hacen referencia a la colección de sitios del inquilino antiguo. Este escenario ocurre a menudo durante escisiones o fusiones.

Pasos para restaurar los enlaces para compartir después de la migración de inquilinos

El único método compatible para corregir los enlaces para compartir rotos es generar nuevos enlaces para los archivos migrados y comunicar las nuevas URL a todos los usuarios afectados. Microsoft no proporciona una función directa de “reasignar enlace antiguo a archivo nuevo”. Los siguientes pasos utilizan SharePoint Online Management Shell y Microsoft Graph PowerShell para identificar y volver a crear enlaces.

Requisitos previos

Antes de comenzar, asegúrate de lo siguiente:

  • Has completado la migración de inquilino a inquilino utilizando la herramienta de migración de datos de usuario entre inquilinos de Microsoft o un servicio de migración de terceros.
  • Tienes SharePoint Online Management Shell instalado en una máquina con Windows.
  • Tienes el SDK de Microsoft Graph PowerShell instalado y autenticado con los ámbitos Files.ReadWrite.All y Sites.ReadWrite.All.
  • Tienes una lista de todas las URL de OneDrive de usuarios migrados (por ejemplo, https://newtenant-my.sharepoint.com/personal/user_newtenant_com).

Paso 1: Identificar todos los enlaces rotos en una biblioteca de OneDrive

  1. Conectar a SharePoint Online
    Abre SharePoint Online Management Shell como administrador. Ejecuta Connect-SPOService -Url https://newtenant-admin.sharepoint.com e inicia sesión con una cuenta de administrador global.
  2. Recuperar la colección de sitios de OneDrive
    Ejecuta Get-SPOSite -IncludePersonalSite $true -Filter {Url -like "/personal/user_newtenant_com"} para confirmar que el sitio existe.
  3. Exportar todos los enlaces para compartir
    Usa el cmdlet Get-SPOSiteSharingLink para listar todos los enlaces para compartir activos del sitio de OneDrive. Ejecuta Get-SPOSiteSharingLink -Site https://newtenant-my.sharepoint.com/personal/user_newtenant_com | Export-Csv -Path "C:\temp\links.csv". Esto exporta los detalles del enlace, incluida la ruta del archivo de destino, el tipo de enlace y la fecha de expiración.
  4. Identificar enlaces rotos
    Abre el archivo CSV en Excel. Filtra los enlaces que se crearon antes de la fecha de migración. Estos son los enlaces rotos. Anota las rutas de archivo y los usuarios propietarios de los enlaces.

Paso 2: Generar nuevos enlaces para compartir usando Microsoft Graph

  1. Conectar a Microsoft Graph PowerShell
    Abre una nueva ventana de PowerShell. Ejecuta Connect-MgGraph -Scopes "Files.ReadWrite.All", "Sites.ReadWrite.All" e inicia sesión con la misma cuenta de administrador.
  2. Obtener el ID de la unidad para el OneDrive del usuario
    Ejecuta Get-MgUserDrive -UserId user@newtenant.com | Select-Object Id, WebUrl. Anota el valor de Id.
  3. Crear un nuevo enlace para compartir para cada archivo roto
    Usa el cmdlet New-MgDriveItemLink. Por ejemplo: New-MgDriveItemLink -DriveId "drive-id" -DriveItemId "item-id" -Type "edit" -Scope "anonymous". Reemplaza drive-id y item-id con los valores de la exportación CSV. El cmdlet devuelve la nueva URL para compartir.
  4. Registrar las nuevas URL
    Redirige la salida a un archivo CSV para su distribución posterior: New-MgDriveItemLink ... | Export-Csv -Path "C:\temp\newlinks.csv" -Append.

Paso 3: Distribuir nuevos enlaces a los usuarios afectados

  1. Enviar una notificación por correo electrónico
    Usa Microsoft Graph para enviar un correo electrónico a cada usuario cuyo OneDrive fue migrado. Incluye los nuevos enlaces para compartir e instrucciones para actualizar marcadores o volver a compartir los archivos.
  2. Eliminar enlaces antiguos rotos (opcional)
    Para limpiar, ejecuta Remove-SPOSiteSharingLink -Site https://newtenant-my.sharepoint.com/personal/user_newtenant_com -SharingLinkId "old-link-id" para cada enlace roto. Obtén el SharingLinkId de la exportación CSV.

ADVERTISEMENT

Si los enlaces para compartir de OneDrive aún fallan después de la corrección

Los usuarios externos ven “Acceso denegado” incluso con enlaces nuevos

Esto ocurre si la configuración de uso compartido externo del nuevo inquilino es más restrictiva que la del inquilino antiguo. Ve a Centro de administración de Microsoft 365 > Configuración > Configuración de la organización > SharePoint > Compartir. Asegúrate de que “Permitir compartir con usuarios externos y usar enlaces de acceso anónimo” esté habilitado. También verifica que el tipo de enlace que creaste (por ejemplo, “Anónimo” o “Toda la empresa”) esté permitido por la política del inquilino.

Los enlaces expiran inmediatamente después de su creación

Si el nuevo inquilino tiene una política de expiración de enlaces predeterminada más corta, los enlaces recién creados pueden expirar en días en lugar de años. En la configuración de uso compartido de SharePoint, ajusta la sección “Elegir opciones de expiración y permisos para enlaces para compartir”. Establece una expiración predeterminada que coincida con las necesidades de tu organización, o crea enlaces con el parámetro -ExpirationDateTime en PowerShell para anular la configuración predeterminada.

La aplicación de sincronización de OneDrive muestra “Este archivo está compartido” pero el enlace está roto

Esto sucede cuando la aplicación de sincronización almacenó en caché los metadatos del enlace antiguo. Pide al usuario que ejecute la aplicación de sincronización de OneDrive > Configuración > Desvincular este PC y luego vuelva a vincular su cuenta. Después de que la aplicación de sincronización vuelva a indexar los archivos, obtendrá los nuevos metadatos de uso compartido del servidor.

Enlaces antiguos vs. enlaces nuevos: diferencias clave después de la migración de inquilinos

Elemento Enlace antiguo (antes de la migración) Enlace nuevo (después de la migración)
Dominio del inquilino oldtenant-my.sharepoint.com newtenant-my.sharepoint.com
GUID del archivo Único en la base de datos de contenido del inquilino antiguo Nuevo GUID asignado durante la migración
Token de acceso de invitado Emitido por el Azure AD del inquilino antiguo Emitido por el Azure AD del nuevo inquilino
Tipo de enlace (editar/ver) Se conserva si la herramienta de migración copió los permisos Debe volver a crearse manualmente o mediante script
Fecha de expiración Establecida por la política del inquilino antiguo Establecida por la política del nuevo inquilino

Después de una migración de inquilino a inquilino, ahora puedes identificar los enlaces para compartir de OneDrive rotos y generar otros nuevos usando PowerShell. A continuación, revisa la configuración de uso compartido externo de tu nuevo inquilino para evitar futuros fallos de enlaces. Un consejo concreto: ejecuta un script previo a la migración que exporte todos los enlaces para compartir a un CSV antes de que comience la migración; esto te dará un inventario completo para volver a crear enlaces más rápido en el nuevo inquilino.

ADVERTISEMENT