PUA Removal Tool
Overview
Datto RMM Implementation of the ProVal Agnostic Remove-PUA. It manages the removal of predefined bloatware packages or lists installed bloatware based on a centrally maintained list. It offers three primary operations: bulk removal, selective removal, and bloatware listing. The remove parameter allows bypassing the PUA List to remove any installed AppxPackage.
PUA List: PUA List
EXERCISE EXTREME CAUTION - Removing system components may cause system instability.Dependencies
Implementation
Import PUA Removal Tool.cpt into the environment.
Datto Variables
| Variable Name | Type | Default | Description |
|---|---|---|---|
ListBloatware | Boolean | True | Non-destructive. Lists applicable bloatware detected on the endpoint, but does not remove. Cannot be set simultaneously with any other parameter. |
RemoveAll | Boolean | False | Remove all detected bloatware listed in the PUA List from the endpoint. PUA List: https://content.provaltech.com/attachments/potentially-unwanted-applications.json. USE WITH CAUTION. |
Remove | String | Remove the provided package(s) from the endpoint. Cannot be set simultaneously with RemoveAll. | |
DParameter | String | Removes all detected bloatware in the specified categories. Requires the RemoveAll variable to be set to True. Valid Categories: 'MsftBloatApps', 'ThirdPartyBloatApps' | |
EParameter | String | Exclude the provided package(s) from RemoveAll processing. Requires the RemoveAll variable to be set to True. |
Output
stdOut & stdError
Changelog
2025-05-05
- Initial version of the document
2025-04-01
- Fixed the bug where the script contained several outdated and potentially incorrect AppxPackage IDs in the bloatware removal arrays. Some Microsoft apps have changed their package identifiers in newer Windows versions, and some third-party apps may have incorrect publisher IDs.