Reference

Policy, reports, and deployment.

Everything you need to deploy the tool through an RMM and ingest its output centrally.

Policy file

Organization policy is optional. Without a policy file the tool runs in its safest configuration: the Conservative profile with dry-run enabled. Place the file at:

C:\ProgramData\OemCleanup\policy.json

A malformed policy file fails closed to conservative dry-run behavior rather than being partially applied.

{
  "profile": "Conservative",
  "dryRun": true,
  "force": false,
  "allowSecurityProductRemoval": false,
  "allowRemoteManagementRemoval": false,
  "processTimeoutSeconds": 900,
  "allowList": ["ConnectWise*", "*ScreenConnect*", "Lenovo Vantage", "*SupportAssist*"],
  "blockList": ["WildTangent Games"],
  "reportDirectory": "C:\\ProgramData\\OemCleanup\\Reports"
}
FieldTypeDefaultMeaning
profilestringConservativeConservative, Balanced, or Aggressive
dryRunbooltrueWhen true, no process is ever started
forceboolfalseSuppresses the final confirmation for an already-authorized action
allowSecurityProductRemovalboolfalseEnables the endpoint-protection gate
allowRemoteManagementRemovalboolfalseEnables the remote-tool gate
processTimeoutSecondsint900Per-uninstaller bound, clamped to 30–3600
allowListstring[]emptyWildcard patterns that are never removed
blockListstring[]emptyWildcard patterns promoted toward eligibility
reportDirectorystringsee aboveOutput location

Treat policy.json as privileged. Anyone who can write it can set force: true and suppress the confirmation prompt for authorized actions. Restrict its ACL to administrators.

Allow and block lists

Wildcards * and ? are supported in both lists. The allowlist always wins over the blocklist.

A blocklist entry can promote a cataloged Caution item to removal eligibility, but it cannot bypass:

  • protected-software patterns (RMM, VPN, backup, encryption, drivers, firmware)
  • the endpoint-protection authorization gate
  • ManualReview classification
  • an unsupported or unimplemented removal backend

Report artifacts

Reports are written on every run, including audit-only runs where nothing is removed.

FilePurpose
*.jsonMachine-readable schema 2.2 for RMM/MSP ingestion
*.htmlHuman-readable device, inventory, decision, and execution report
*.jsonlHash-chained audit events
*-execution.jsonlCommands, results, errors, exit codes, reboot flags, post-execution inventory

Each JSONL event embeds the hash of the previous event, forming a chain. Whole-log SHA-256 checksums are recorded in the report, so removing or editing an event is detectable.

Reports contain hostname, user context, serial number, BIOS version, and full software inventory. Restrict report directory ACLs and control RMM ingestion access accordingly.

Exit codes

CodeMeaning
0Success
1603Fatal error during installation (vendor failure)
3010Success, reboot required
1641Success, reboot initiated
timeoutReported as a distinct outcome, not as an installer failure

Failed uninstallers preserve bounded diagnostic output in the result, so reports show the vendor or Windows deployment error rather than only a code.

Unattended deployment

Standard Windows Installer properties apply.

All users (elevated):

msiexec.exe /i .\OEM-Endpoint-Cleanup-2.2.1-win-x64.msi /qn /norestart ALLUSERS=1 MSIINSTALLPERUSER=""

Current user:

msiexec.exe /i .\OEM-Endpoint-Cleanup-2.2.1-win-x64.msi /qn /norestart ALLUSERS=2 MSIINSTALLPERUSER=1

Push policy.json as part of the same deployment so every technician runs the same profile, allowlist, and report directory rather than relying on per-run UI choices.

Suggested rollout

  1. Ring testDeploy to a small ring covering each OEM model you support.
  2. Collect dry-run reportsRun in dry-run and gather the JSON reports centrally.
  3. Review per modelCheck catalog matches and decisions before enabling uninstall mode.
  4. Widen graduallyExpand the ring only once a model's results are stable.

OEM product names, installer technology, and supported silent flags vary by model and release, so ring testing matters more here than for typical software.