Free migration scripts
Inventory and report scripts for the jobs every migration needs: mailbox sizes, permissions, SharePoint versions, path lengths, licences, DNS snapshots and more. Built only from documented commands, with comments.
Save a timestamped copy of a domain's MX, SPF, DMARC, DKIM, autodiscover, NS and SOA records, with their TTLs, before you change anything. Run it again after cutover and compare the two files, so you can prove what changed and roll back exactly.
BashRead-onlyMicrosoft 365 licence and disabled service plan reportExport every licensed user with their usage location, each licence they hold and the service plans switched off in it, so you can re-create the same licensing in a target tenant or check nobody loses a service during a migration.
PowerShellRead-onlyExchange Online mailbox permissions reportList who has Full Access, Send As and Send on Behalf on every Exchange Online mailbox in one CSV, so you can keep delegates together in the same migration batch and re-create permissions after a tenant move.
PowerShellRead-onlyExchange Online mailbox size and archive reportExport every Exchange Online mailbox with its size, item count, archive size, last logon time and mailbox type to a CSV, so you can size migration batches and spot mailboxes that need cleaning up first.
PowerShellRead-onlyFile share scan: path length, blocked names and large filesScan a file share before you move it to SharePoint or OneDrive and get a CSV of every path that is too long, every file or folder name Microsoft blocks, and every file over the upload size limit, so you can fix them before the migration fails on them.
PowerShellRead-onlyMicrosoft 365 domain references reportBefore you remove a domain from Microsoft 365 (for example to move it to another tenant), list every user, group, contact, app and Exchange recipient that still uses it in a user name, email address or alias, so the removal does not stall.
PowerShellRead-onlyOneDrive usage report: owner, storage and last activityExport every OneDrive in your tenant with its owner, storage used, storage quota and the date content last changed, so you can size a OneDrive migration and spot empty or abandoned accounts before you move them.
PowerShellRead-onlySharePoint site storage and library version settings reportList every SharePoint site with its storage used, plus each document library's versioning settings and major version limit, in one CSV. Use it to decide how many versions to migrate and which libraries will take longest.
PowerShellRead-onlyVMware vSphere VM inventory export (PowerCLI)Export every virtual machine in vCenter with its guest OS, vCPU, memory, disks and sizes, networks, power state and VMware Tools state to one CSV, ready to size a move to Azure, AWS, Hyper-V or another platform.
PowerShellRead-onlyWordPress pre-migration check (WP-CLI)Run one read-only command on the old host and get a text report of the WordPress and PHP versions, active plugins and theme, site URLs, database size, uploads folder size and scheduled cron events, so you can match the new host and check nothing is missing after the move.
BashRead-onlyScripts are provided as is. Read them before you run them and test in a non-production environment first. See our terms of use.