Cloud Configurations
Running migrations using web portal Job IDs
Cloud Configurations allow for a centralized configuration while improving security. This makes it easy to scope out profile states across your fleet before you start, and gives you a central place to monitor progress and collect logs from every machine.
How It Works
- Create Job: Define settings (target domain, user mappings, options) in the web portal.
- Encrypt: The portal encrypts this configuration client-side with a password you provide.
- Scope: Run
profmage.exeon client machines with the job ID, password, and--send-telemetry. - Run: Run
profmage.exeon client machines with the job ID and password. - Fetch: The client downloads the encrypted blob, decrypts it locally, and executes the plan.
- Report: Logs and status are automatically sent back to the job dashboard.
Step-by-Step Guide
1. Create a Job
- Navigate to Jobs > New Job.
- Select your Migration Mode. See our Entra ID documentation for Entra migrations.
- Enter the Target Domain.
- (Optional) upload a CSV for user mappings.
- Set a strong Configuration Password. Remember this password; it is not stored by us.
- Click Create Job.
2. Create your Script & Determine Profile States
Once the job is created, you will see a View Script button. It should display our example script such as:
$DownloadUrl = "https://cdn.qrktech.com/releases/profmage/latest/profmage.exe"
$Profmage = "C:\Windows\Temp\profmage.exe"
$JobId = "<job-id>"
$ConfigPassword = "config-password-here" # Replace this with your config password!
Write-Host "Downloading profmage.exe from $DownloadUrl"
$ProgressPreference = "SilentlyContinue"
Invoke-WebRequest -Uri $DownloadUrl -OutFile $Profmage
$fileHash = Get-FileHash -Path $Profmage -Algorithm SHA256
Write-Host "Profmage client SHA256: $($fileHash.Hash)"
Write-Host "Executing $Profmage"
& $Profmage --job-id $JobId --config-password $ConfigPassword --send-telemetryThis script will download the latest version of Profmage and send the following telemetry to the job overview:
- Valid source/target profile matches found on the machine
- e.g. if
jdoeis present on machine and on the target domain,jdoewill be listed as a pending migration.
- e.g. if
- The current migration status of each profile.
- Pending, Success, Failure, Appx repair pending (first post migration login not complete), etc.
- Chrome/Edge profile metadata
- Due to Chromium's encryption, we cannot migrate Chromium password vaults. Passwords that are not synced will be lost.
- Firefox passwords persist through migrations (as of v147).
- Outlook (classic) profile metadata
- The last time each profile was used.
- Which profile is the default.
- The primary mailbox for the profile(s).
- The mail provider for the primary mailbox.
- Extra mailboxes (delegated, manually added)
- PSTs attached to the profile(s) (including their paths)
- Other user profiles found on machine
- Only source -> target matches are displayed in the job overview. Any other profiles are under the machine's details page.
When --send-telemetry is specified, Profmage is runs in read-only mode. This allows for proper scoping of what profiles exist and their current state before executing your migration.
Note that Profmage currently only submits telemetry when manually invoked.
Telemetry data is only as recent as the last time you ran Profmage with
--send-telemetry
3. Execute the Migration
Once you have validated your machines are ready for migration, remove the --send-telemetry flag from your script. Running the following will execute the migration.
# <rest of script from View Script above>
& $Profmage --job-id $JobId --config-password $ConfigPassword4. Monitor
Watch the Job Details page in the portal. As machines start and finish, they will appear in the list with their status (Pending, In Progress, Success, Error).
Each machine's primary profmage.log file is easily accessible under Details > Logs. This file contains the debug logs for each profile's migration on the machine.
If any troubleshooting is needed, you can download the full log archive from Details > Logs (zip). This should contain the contents of that job's logs from C:\ProgramData\Profmage\Logs\<Job-Id>.