Ir al contenido principal

Importar desde Box.com a OneDrive for Business con PowerShell

Nota: La integración con PowerShell requiere una suscripción Pro o Enterprise de ShareGate Migrate. No está disponible en el plan Essentials.

Usa PowerShell para automatizar tu migración de Box.com a OneDrive for Business.

Nota: A finales de enero de 2026, Microsoft comenzó a desaprobar la cookie IDCRL, lo que significa que solo los métodos de autenticación Browser y Modern authentication con los parámetros -Browser y -ModernAuth funcionarán en la mayoría de los inquilinos de Microsoft 365. Para obtener más información sobre este cambio, consulta Cambio importante en la autenticación de "Otro usuario" para Microsoft 365.

Requisitos previos

Nota: Debes ser administrador de la colección de sitios en cada OneDrive, incluso si tienes privilegios de administrador superiores. Utilizarás permisos de administrador de SharePoint o de administrador global para aplicar permisos de administrador de la colección de sitios en todos tus OneDrives. Luego, el script de PowerShell eliminará los permisos de administrador de la colección de sitios a medida que migres cada cuenta de Box.com.

Cómo hacerlo

Consejo: Para migrar tus documentos a una nueva carpeta en tus OneDrives, consulta Guía paso a paso - Migrar a una nueva carpeta de OneDrive en PowerShell.

Asígnate como administrador de la colección de sitios en todos tus OneDrives

  1. Abre ShareGate Migrate.

  2. Ve a All reports.

  3. Haz clic en Create custom report en la esquina superior derecha.

  4. Selecciona OneDrive for Business como tipo de objeto.

  5. Haz clic en Continue without saving.

  6. Selecciona tu inquilino.

  7. Haz clic en Run.

  8. Selecciona todos tus OneDrives con la casilla de verificación en la parte superior de la lista.

  9. Haz clic en Edit en el menú de acciones rápidas.

  10. Selecciona Add administrators en el menú desplegable Transformations.

  11. Busca y agrega tu cuenta en el campo Select user or group que aparece.

  12. Haz clic en Apply.

Crea tu script

Copia y pega el siguiente script en la aplicación de PowerShell de tu preferencia.

Import-Module Sharegate

# Connect to Box
$box = Connect-Box -Email [email protected] -Admin

# Get all Box users
$users = Get-BoxUsers -Box $box

# Connect to the SharePoint tenant
$tenant = Connect-Site -Url https://mytenant-admin.sharepoint.com -ModernAuth

# Loop through each user
foreach ($user in $users) {
# Check if the user is not inactive
if ($user.Status -ne 'inactive') {
# Get the user's OneDrive site URL
$dstSiteUrl = Get-OneDriveUrl -Tenant $tenant -Email $user.Email

# Connect to the user's OneDrive site
$dstSite = Connect-Site -Url $dstSiteUrl -UseCredentialsFrom $tenant

# Get the "Documents" list from the user's OneDrive site
$dstList = Get-List -Site $dstSite -Name "Documents"

# Import documents from Box to the OneDrive "Documents" list
Import-BoxDocument -Box $box -DestinationList $dstList -UserEmail $user.Email

# Remove site collection administrator permissions
Remove-SiteCollectionAdministrator -Site $dstSite
}
}

Ajusta tu script según tus necesidades. Aquí tienes algunas recomendaciones:

  • $box: Reemplaza el correo electrónico por el correo de administrador de tu Box.com.

  • $tenant: Cambia la URL para que coincida con el centro de administración de tu inquilino.

  • Connect-site: El comando para conectarse a un sitio de SharePoint o OneDrive for Business. Si necesitas cambiar el método de autenticación desde Modern authentication, consulta Connect Site.

  • foreach: Se utiliza para recorrer un conjunto de valores. En este caso, todos los comandos entre las llaves de foreach se repetirán para cada usuario en tu cuenta de Box.com.

  • -UseCredentialsFrom: Este script utiliza Modern authentication con el parámetro -UseCredentialsFrom para reutilizar una sola conexión. El script te pedirá tus credenciales de Microsoft 365 al iniciarlo. Si no se aplica MFA en tu inquilino, puedes configurar tu script para usar un nombre de usuario y contraseña para programaciones sin supervisión. Para más información, consulta Connect-Site y Evita ingresar tus credenciales repetidamente con los métodos de conexión browser y modern.

  • Remove-SiteCollectionAdministrator: Elimina tu cuenta de usuario como administrador de la colección de sitios en el OneDrive después de su migración. Para más información, consulta Remove Site Collection Administrator.

Ejecuta tu script una vez que esté correctamente ajustado y probado.

Consideraciones

  • Modern authentication con -ModernAuth es el método de autenticación más seguro y persistente para Microsoft 365, y puede usarse con las variables Username y Password siempre que no se aplique la autenticación multifactor (MFA). También existen algunas limitaciones. Consulta Connect-Site para conocer diferentes formas de usar este método de conexión, o para cambiar a Browser authentication si es necesario.

  • Puedes migrar el contenido de la carpeta raíz del usuario en Box.com, pero no la carpeta en sí. Si deseas migrar el contenido de Box.com a una carpeta separada en OneDrive for Business, primero deberás crear esa carpeta de destino.

  • Los informes de migración se generan automáticamente y podrás encontrarlos en Tasks. También puedes exportar los informes en tu script con Export-Report.

  • Puedes programar tu migración usando PowerShell para ejecutarla fuera del horario laboral y optimizar el rendimiento.

  • Para replicar las opciones de copia de ShareGate Migrate, consulta Opciones de copia en PowerShell.

  • Solo se migran los archivos que el usuario posee. Si el usuario es colaborador o co-propietario de un archivo, este no se copiará durante la migración.

  • Si experimentas problemas de rendimiento considerables, consulta Limitaciones de Box.com.

  • Errores de script y pruebas: Prueba tu script de PowerShell en un pequeño subconjunto de cuentas de OneDrive antes de aplicarlo de forma general. Las pruebas ayudan a identificar posibles problemas en un entorno controlado.


"Este artículo fue traducido utilizando inteligencia artificial. En caso de duda, consulta la versión original en inglés."

¿Ha quedado contestada tu pregunta?