We are provisioning users Onedrives at the moment, and we would like to upload their current Documents folders up to onedrive for the end users, has any one done this or seen a good guide?
You have a few different options for migration. If you are rolling out the OneDrive for Business client, you can redirect the Documents folder. This would allow new documents to be uploaded, but some additional work would be required to move the existing files over to the sync folder.
Using the sync client also allows user to take a self service approach and decide what to upload and keep versus a full archival migration. During a migration, many people do data audits to determine what is worth saving and what may be tossed or moved to a team site.
There are also a variety of tools available to help with migrations. Microsoft provides a PowerShell option for migration, and there are a variety of third-party options as well. Your choice of provider depends on the complexity of the migration.
(Disclosure: I worked on the Microsoft PowerShell migration tool)
# Run from the SharePoint Online Management Shell $creds = (Get-Credential email@example.com) $sourceFiles = 'C:\users\sam\Documents' $sourcePackage = '\\server\share\sam\package' $targetPackage = '\\server\share\sam\packageTarget' $targetWeb = 'https://contoso-my.sharepoint.com/personal/sam_contoso_com' $targetDocLib = 'Documents' # Create new package from file share New-SPOMigrationPackage ` -SourceFilesPath $sourceFiles ` -OutputPackagePath $sourcePackage ` -IncludeFileSharePermissions # Convert package to a targeted one by looking up data in target site collection $convertedPackage = ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath $sourceFiles ` -SourcePackagePath $sourcePackage ` -OutputPackagePath $targetPackage ` -TargetWebUrl $targetWeb ` -TargetDocumentLibraryPath $targetDocLib ` -Credentials $creds # Encrypt, upload to Azure, and submit the migration $report = Invoke-SPOMigrationEncryptUploadSubmit -MigrationSourceLocations $convertedPackage ` -TargetWebUrl $targetWeb ` -Credentials $creds # Get the progress of the migration job Get-SPOMigrationJobProgress -AzureQueueUri $report.ReportingQueueUri ` -TargetWebUrl $targetWebUrl ` -JobIds $report.jobId ` -EncryptionParameters $report.Encryption ` -Credentials $creds