I've recently migrated around 200Gb of data to Sharepoint only to be told its got to be moved back... The users are missing some key functionality when accessing the data from Sharepoint, specifically Excel workbooks with data filters and what not, and Microsoft won't be adding said functionality for at least another 6 months.

I need to basically download, from the Sharepoint site in question, the data that has been modified in the last 10 days, ideally with Powershell, however I'm not sure how to go about this. Due to the size of the data, I dont wan't to download the whole lot as it will take ages and i've already got all of the data in the original file share, so i really just need the last 10 days.

Has anyone done anything like this before and can anyone point me in the right direction?

Many thanks in advance!

1 Answer 1


migrated around 200Gb of data to Sharepoint

You will need to tell us more about how the files were uploaded and if they are in a single library or in multiple sites, libraries and folders.

the data that has been modified in the last 10 days

The date that the file was modified in SharePoint, or date last modified before uploading to SharePoint? And how was the content migrated?

Depending on how you moved the content, the only date you have to work with may be the upload date / last updated in SharePoint.

If all in one library then one of these approaches would work:

  • Display the library in the Modern UI. Sort the files in the library (or create a View to pre-filter the list). Select the files from the last 10 days and then click Download (this will download a ZIP file containing the select files). Depending on the quantity you may want to do this in batches.
  • Open the library in Windows Explorer, sort by date created (this date depends on how the content was uploaded), and drag/drop the files to a local drive.
  • Use the same migration tool used to upload, if it has a filter feature. (Most do.)
  • Use PowerShell and filter by date.

The PowerShell could use Invoke-RESTRequest with a URL something like this to get all the file names:

https://yourDomain/sites/yourSite/_api/web/lists/getbytitle('Documents')/items?$filter=Created gt datetime'2019-7-5T00:00:00'

And then a loop through those files using System.Net.WebClient to do the actual downloads.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.