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 las migraciones desde un recurso compartido de archivos 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
Tienes el permiso NTFS predeterminado de Lectura o superior en tu recurso compartido de archivos.
Tus OneDrives ya han sido aprovisionados (esto se puede automatizar con el cmdlet Get-OneDriveURL).
Nota: Debes ser administrador de la colección de sitios en cada OneDrive, incluso si tienes privilegios de administrador superiores. En el paso (15), usarás permisos de administrador de SharePoint o 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 OneDrive.
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.
Crea una guía CSV para tu migración
Genera una lista con los nombres de todos los directorios contenidos en la carpeta DOMAIN usando este script:
dir –Directory Z:\ -Name | Out-File C:\MigrationPlanning\onedrivemigration.csv
Reemplaza las rutas por las tuyas propias.
Abre el archivo CSV generado por el script en Excel.
Inserta una nueva fila en la parte superior de los resultados para los encabezados.
Nombra la primera columna como DIRECTORY.
Agrega la letra de la unidad mapeada antes de los nombres de los directorios en tus columnas (por ejemplo, Z:).
Abre ShareGate Migrate.
Ve a All reports.
Haz clic en Create custom report en la esquina superior derecha.
Selecciona OneDrive for Business como tu tipo de objeto.
Haz clic en Continue without saving.
Selecciona tu inquilino.
Haz clic en Run.
Selecciona todos tus OneDrives con la casilla de verificación en la parte superior de la lista.
Haz clic en Edit en el menú de acciones rápidas.
Selecciona Add administrators en el menú desplegable Transformations.
Busca y agrega tu cuenta en el campo Select user or group que aparece.
Haz clic en Apply.
Haz clic en Back dos veces para volver a los resultados de tu informe.
Haz clic en Export en la esquina superior derecha.
Guarda el archivo en tu unidad y ábrelo.
Reemplaza el encabezado Site address por ONEDRIVEURL.
Combina las dos hojas de cálculo para que cada directorio corresponda a la URL correcta en tus filas.
Si ordenar alfabéticamente no funciona, puedes reorganizar tus datos manualmente o buscar una solución usando macros o PowerShell.
Guarda este nuevo archivo como CSV en tu unidad.
Crea tu script
Copia y pega el siguiente script en la aplicación de PowerShell de tu preferencia.
Import-Module Sharegate
# Define the CSV file path
$csvFile = "C:\MigrationPlanning\onedrivemigration.csv"
# Import the CSV file
$table = Import-Csv $csvFile -Delimiter ","
# Define the destination connection
$dstSiteConnection = Connect-Site -Url "https://destinationtenantname-my.sharepoint.com/" -ModernAuth
# Set variables for site and list operations
Set-Variable dstSite, dstList
# Loop through each row in the CSV
foreach ($row in $table) {
# Clear previous values of variables
Clear-Variable dstSite
Clear-Variable dstList
# Connect to the OneDrive site
$dstSite = Connect-Site -Url $row.ONEDRIVEURL -UseCredentialsFrom $dstSiteConnection
# Get the "Documents" list from the destination site
$dstList = Get-List -Name Documents -Site $dstSite
# Import documents from the source folder to the destination list
Import-Document -SourceFolder $row.DIRECTORY -DestinationList $dstList
# Remove site collection administrator permissions
Remove-SiteCollectionAdministrator -Site $dstSite
}
Ajusta tu script según tus necesidades. Aquí tienes algunas recomendaciones:
$csvFile: Ajusta la ruta para que apunte al archivo CSV que guardaste previamente.
$table: El delimitador es el símbolo que tu CSV usa para separar los elementos de las columnas. Asegúrate de que tu script use el mismo delimitador que tu archivo (una forma rápida de verificarlo es abrir el CSV en el Bloc de notas).
$dstSiteConnection: Reemplaza la URL por la URL raíz de tus OneDrives en tu inquilino de destino.
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.
-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 tus inquilinos, 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.
Set-Variable y Clear-Variable: Estos comandos ayudan a prevenir un problema donde una falla de conexión puede causar que tus datos terminen en el OneDrive incorrecto.
foreach: Usamos foreach para recorrer los valores de tu archivo CSV. Puedes encontrar más información aquí.
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 Eliminar administrador de la colección de sitios.
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, 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 las diferentes formas de usar este método de conexión, o para cambiar a Browser authentication si es necesario.
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 realizar una migración incremental, consulta el artículo sobre actualización incremental usando PowerShell.
Para replicar las opciones de copia de ShareGate Migrate, consulta Replicar opciones de copia.
Si tienes cientos de gigabytes de datos para migrar, te recomendamos crear varios archivos CSV para ejecutar la migración en lotes más pequeños.
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 usando inteligencia artificial. En caso de duda, consulta la versión original en inglés."

