Pre-migration analysis
What would stop or spoil a migration
Checks everything you plan to migrate before anything moves, and lists each file, folder and library that would fail or come across damaged, with what to do about it. Works on SharePoint and OneDrive content, and on folders on this PC or a file share.
What it tells you
- Which paths would be over SharePoint's 400-character limit where they land, and which are close to it.
- Which names SharePoint refuses: characters such as : * ? | ", leading or trailing spaces, reserved names like CON or desktop.ini, Office lock files and names over 255 characters.
- Which files are empty, very large or over the 250 GB limit, and which are checked out.
- Which folders hold more than 5,000 items directly, and which libraries nobody has changed for six months.
- Which lists and libraries a migration cannot carry intact: surveys, discussion boards, external lists, rights-managed libraries and more.
How it runs
- Choose where the content is now. SharePoint or OneDrive, or a folder on this PC or a file share.
- Pick what to check. Clicking the tile asks which account to use and how to connect, signs you in if you are not already, and drops you straight on the site list. No feature page asks you to connect a second time. Sites, libraries or folders - or, for a local source, the folders you plan to upload.
- Say where it is going. Give the destination site or library so each path is measured where it would land. Optional: without it, a SharePoint source is measured as it is now, and a local source is measured as if uploaded to /sites/your-site/Shared Documents.
- Read the findings, then fix and run it again. Each finding says what is wrong and what to do. The Rules sheet lists every check, including the ones that found nothing.
How it works
For a SharePoint source, the scopes you tick are expanded first (a whole site to its subsites, when you ask), then the document libraries of each are listed, then the list level checks run, then each library is read in turn. Hidden and system libraries are left out unless you tick one by name, and the items of ordinary lists are not walked. For each file and folder it reads the name, the path, the size, who has it checked out and when it was last changed. The library's Forms folder is ignored.
Path length is counted on the decoded path from the start of the site address. When you give a destination site, the part of each path below the source site is moved under the destination site, keeping the library's address the same, and measured there. Without one, the path is measured as it stands. Over 400 characters is an error and over 380 is a warning. Names are checked against SharePoint's rules: refused characters, reserved names, a leading or trailing space, a trailing dot, more than 255 characters, Office lock files and similar.
A local source is walked folder by folder from the folders you pick. Hidden and system files, and links to other places, are noted and not followed. When no destination is given, paths are measured as though uploaded to a typical library address, so the length check still means something. Two items that would land on the same path in SharePoint, such as names that differ only in case, are reported for a local source only.
An empty file is exactly 0 bytes, a very large file is over 15 GB, and over 250 GB is an error. More than 5,000 items directly inside one folder is a warning. A library is reported as unused when the newest change seen is more than 180 days old; that check runs only on a whole library read completely, never on a local folder. The checks on lists themselves (surveys, discussion boards, external lists, calendars, rights-managed libraries and others) cover every list on a whole site you tick, but only the ticked libraries otherwise. An item that cannot be judged becomes a finding of its own, a library that fails part-way keeps what was read and is listed on Skipped, and stopping finishes the current library first. The workbook goes into History when the run ends.
What you get
An Excel workbook, named like contoso-pre-migration-analysis-20261004-142207.xlsx, kept in Report History whether or not you save it. One row per problem, worst first. Filter on Severity or Rule to work through one kind at a time.
Summary sheet
What was checked, where it was measured against, and the totals.
Findings sheet
Every problem found.
| Column | Example |
|---|---|
| Severity | Error |
| Rule | Path too long |
| Kind | File |
| Location | Projects / Documents |
| Path | /sites/projects/Shared Documents/Clients/…/Proposal v4.pdf |
| Would land at | /sites/new/Shared Documents/Clients/…/Proposal v4.pdf |
| Characters | 412 |
| Size (bytes) | 2,410,118 |
| What is wrong | The path would be over 400 characters where it lands. |
| What to do | Shorten the folder or file names, or move it to a shallower folder. |
Rules sheet
Every check, how often it fired, and what to do about it.
Locations sheet
Each library or folder read, with its file and folder counts and size.
Skipped sheet
Only when something could not be read: each location and why it was not read.
What you need
- Read access to the libraries in scope. A local folder needs no sign-in.
What it will not do
- It reads and reports. Nothing is renamed, moved or changed.
- A library or folder that could not be read is named on the Skipped sheet - its problems are not counted as none.