A lightweight, GUI-based utility designed to streamline the migration of user profile data between Windows workstations. This tool acts as a wrapper for Robocopy, providing a user-friendly interface for IT technicians to perform data transfers without needing to memorize complex command-line arguments.
- GUI Interface: Built using PowerShell and Windows Forms for ease of use.
- Auto-Elevation: Automatically detects if the script is running as Administrator and prompts for elevation if necessary.
- Robocopy Optimization:
- Multi-threaded transfer (
/MT:32) for speed. - Restartable mode (
/ZB) for resilience against network interruptions. - Preserves file attributes and timestamps (
/COPY:DAT).
- Multi-threaded transfer (
- Smart Exclusions: Automatically excludes system heavy/locked folders (e.g.,
AppData,OneDrivecache) to prevent profile corruption on the destination machine. - Logging: Generates detailed transfer logs on the technician's desktop for verification.
To use this tool effectively in a domain or workgroup environment:
- Permissions: The user running the script must have Local Administrator privileges on both the Source and Destination machines.
- Network Access: Both computers must be online and reachable.
- Admin Shares: Windows Administrative Shares (C$) must be enabled on the target machines.
- Run the script:
.\profile-migration-tool.ps1
- Username: Enter the Active Directory or Local username of the profile to copy.
- Source/Destination: Enter the Computer Name (or Service Tag/IP Address) for the source and destination machines.
- Click Start Migration.
- A command window will open to display the real-time progress of Robocopy. Once finished, check the log file created on your desktop.
The script constructs a dynamic Robocopy command based on the inputs:
robocopy "\\Source\c$\Users\User" "\\Dest\c$\Users\User" /E /ZB /COPY:DAT /MT:32 ...