Collect diagnostics on Windows
Use this page when a collector on a Windows host needs diagnosing — a failed update, a lost connection, data not reaching destinations, or a service that won't start. One command collects everything support needs into a single zip file: run it when our support team asks for it, or attach it proactively when opening a ticket to speed up the resolution.
Works on Windows Server 2008 R2 through Windows Server 2025. Takes about a minute.
What the script does — and does not do
The script is strictly read-only:
- It does not stop, restart, or reconfigure the collector or any Windows component.
- No reboot is needed, and it is safe to run during business hours.
- It is plain, readable PowerShell — your security team is welcome to review it before running, and the zip it produces contains only readable text files you can inspect before sending.
It collects: the collector's own log files, its service and installation status, configuration files (passwords and tokens are automatically redacted), and Windows Event Log excerpts from the last 4 days by default (Application, System, and Task Scheduler logs; adjustable — see Options).
Scope note on event logs: the event excerpts are system-wide — they include Windows' own records of other software's installations and service activity in the window (product names, versions, timestamps, and status codes as logged by Windows). This matters because a very common cause of update failures is another installation running at the same moment, which is only visible in those neighboring entries. No other application's files, logs, or data are collected — only Windows' event entries about them.
It never collects: your telemetry/log data (buffered queue contents are excluded — only file names and sizes are listed), credentials, or the collector's encrypted secret files.
Run it
Open a command prompt or PowerShell as Administrator (right-click → Run as administrator — this matters: without elevation some logs cannot be read), paste this single line, and press Enter:
powershell -NoProfile -ExecutionPolicy Bypass -Command "try{[Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol -bor 3072 -bor 768}catch{}; (New-Object Net.WebClient).DownloadFile('https://storage.googleapis.com/download_dev/collect-praxis-diag.ps1','C:\Windows\Temp\collect-praxis-diag.ps1'); & 'C:\Windows\Temp\collect-praxis-diag.ps1' -OutputDir 'C:\Windows\Temp'"
The same line works in both cmd.exe and PowerShell.
When it finishes, it prints the result path in green. Attach this file to your support ticket:
C:\Windows\Temp\praxis-collector-support-<hostname>-<timestamp>.zip
The zip contains a manifest.txt listing everything collected — and anything that was skipped, with the reason.
Timing matters
The event-log capture covers the last 4 days by default. Run the script soon after the problem occurs. If the failure is older than that, retry the operation once and run the script right after.
Options
Append these to the end of the command (before the closing quote):
| Option | Effect |
|---|---|
-SinceHours 6 | Narrows the event-log window to 6 hours — useful right after reproducing the problem, and it minimizes unrelated system activity in the bundle |
-SinceHours 336 | Widens the window (here, 14 days) — only when support asks for it, for incidents too old for the default |
-OutputDir 'C:\SomeFolder' | Writes the zip somewhere other than C:\Windows\Temp |
If something goes wrong
-
"Could not create SSL/TLS secure channel" during download — seen on older servers (typically unpatched 2008 R2) that cannot negotiate modern TLS. Download collect-praxis-diag.ps1 in a browser on any machine, copy it to the server, then run from an elevated PowerShell prompt:
powershell -NoProfile -ExecutionPolicy Bypass -File .\collect-praxis-diag.ps1 -
"WARNING: not running elevated" — the script continues but skips protected logs. Re-run from an Run as administrator prompt for a complete bundle.
-
"Could not create a zip automatically" — the script prints the folder it collected into. Right-click that folder → Send to → Compressed (zipped) folder, and attach that zip instead.
-
Blocked by antivirus/EDR — the script is unsigned PowerShell, which some security products flag. It is safe to review (plain text) and allowlist; ask your security team to inspect it first if required.
If the script errors in any other way, send us whatever it produced anyway — the manifest records what it could not collect and why, which is useful to us too.