What the script collects
The diagnostics package includes a summary file and detailed supporting logs.
The script creates: 00_Summary.txt
This contains the most important findings, including:
- Hostname
- Fully qualified hostname
- Domain or workgroup status
- Windows version and build number
- PowerSyncPro Migration Agent service status
- PowerSyncPro Migration Agent file version
- PowerSyncPro server URL from the local registry
- Connectivity test results to the PowerSyncPro server
- C: drive free space
- Key
dsregcmd /status values, including Entra join and MDM information
Support engineers should check this file first.
Entra join and MDM status
The script runs: dsregcmd /status
This helps identify whether the device is:
- Entra joined
- Hybrid joined
- Workplace joined
- Associated with the expected tenant
- Receiving MDM configuration
- Holding an Azure AD PRT
This information is saved in: 01_dsregcmd_status.txt
Network diagnostics
The script collects network information including:
ipconfig /all
- Route table
- Network adapters
- Network connection profiles
- Wireless interface information
- Visible wireless networks
- WinHTTP proxy configuration
- Current user proxy settings
- Local machine proxy settings
- Firewall profile state
It also tests connectivity to the PowerSyncPro server host using:
- Ping
- DNS lookup
- TCP test to port 443
- TCP test to port 5000
These checks are useful where the workstation cannot communicate with the PowerSyncPro service or migration dashboard.
PowerSyncPro Migration Agent details
The script collects:
- PowerSyncPro / Declaration service status
- Service start type
- Whether the Migration Agent executable exists
- Migration Agent executable file version
- PowerSyncPro Migration Agent registry configuration
- PowerSyncPro Migration Agent application event log entries
This helps identify whether the agent is installed, running, correctly configured, and logging errors.
The script exports and recursively dumps several important registry locations:
These registry keys are useful when troubleshooting:
- Entra join state
- MDM enrolment state
- Device registration
- PowerSyncPro Migration Agent configuration
- The locally configured PowerSyncPro service URL
Event logs
The script exports:
- Full Windows Application event log
- Last 10 Application log entries from provider
PowerSyncPro Migration Agent
- Device Management Enterprise Diagnostics Provider Admin log
- Device Management Enterprise Diagnostics Provider Operational log
Both .csv and .evtx formats are collected where applicable.
These are useful for reviewing migration agent events, MDM enrolment issues, and Windows device management errors.
Certificates
The script exports certificate information from:
This helps troubleshoot issues involving:
- Device certificates
- Trusted root certificates
- Intermediate certificates
- Entra / MDM / VPN / Wi-Fi certificate dependencies
- Certificate loss or replacement after migration
The script exports metadata only, not private keys.
The script collects local Windows profile details, including:
- Profile SID
- Local profile path
- Whether the profile is loaded
- Whether the profile is a special/system profile
- Last use time where available
This is useful when troubleshooting profile mapping or post-migration user profile access issues.
Endpoint protection detection
The script performs a basic heuristic scan for common endpoint protection products by checking services, running processes, and installed applications.
Examples include:
- Microsoft Defender
- CrowdStrike
- SentinelOne
- Sophos
- Trellix / McAfee
- Symantec
- Carbon Black
- Cortex
- Trend Micro
- Bitdefender
This can help identify whether security tooling may be blocking, delaying, quarantining, or interfering with migration activity.
Declaration Software program data
The script collects a recursive folder listing of: C:\ProgramData\Declaration Software
It also copies the contents of that folder into the diagnostics package where accessible.
This may include PowerSyncPro Migration Agent operational files required by Product Support.
What to send to PowerSyncPro Product Support
Send the generated ZIP file from: C:\Users\Public\Documents\PowerSyncPro
The ZIP file name will include the computer name and timestamp.
Example: LAPTOP123_PSP_Diagnostics_2026-04-24_101530.zip
When logging or updating the support case, include the following information:
Suggested support case wording
Desktop Support can use the following template when sending diagnostics to PowerSyncPro Product Support:
Important notes
- Run the script as administrator where possible.
- Do not rename individual files inside the ZIP.
- Send the full ZIP file, not just
00_Summary.txt.
- If the script is run multiple times, send the ZIP file with the timestamp closest to when the issue occurred.
- The script may contain workstation-specific information such as usernames, device names, domain names, IP configuration, certificate metadata, registry configuration, and event logs.
- Handle the ZIP file as support-sensitive diagnostic data.
Troubleshooting script execution
The script will not run
Use: powershell.exe -ExecutionPolicy Bypass -File .\PSPMADiagnostics.ps1
The ZIP file was not created
Check whether the output folder exists: C:\Users\Public\Documents\PowerSyncPro
If the folder exists but the ZIP does not, send the entire timestamped diagnostics folder to Product Support instead.
Access denied errors appear
Re-run PowerShell as Administrator and run the script again.
The script appears to take a while
This can be normal. The script collects event logs, registry data, certificate metadata, network diagnostics, and a copy of the PowerSyncPro program data folder.
Do not close the PowerShell window until the script displays: