Last active
September 21, 2024 19:39
-
-
Save mark05e/2db81671f39a041a5992a64a77748dc7 to your computer and use it in GitHub Desktop.
Beta testing version of https://gist.github.com/mark05e/a79221b4245962a477a49eb281d97388
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ██████╗ ███████╗███╗ ███╗ ██████╗ ██╗ ██╗███████╗ ██╗ ██╗██████╗ | |
# ██╔══██╗██╔════╝████╗ ████║██╔═══██╗██║ ██║██╔════╝ ██║ ██║██╔══██╗ | |
# ██████╔╝█████╗ ██╔████╔██║██║ ██║██║ ██║█████╗ ███████║██████╔╝ | |
# ██╔══██╗██╔══╝ ██║╚██╔╝██║██║ ██║╚██╗ ██╔╝██╔══╝ ██╔══██║██╔═══╝ | |
# ██║ ██║███████╗██║ ╚═╝ ██║╚██████╔╝ ╚████╔╝ ███████╗ ██║ ██║██║ | |
# ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═══╝ ╚══════╝ ╚═╝ ╚═╝╚═╝ | |
# | |
# ██████╗ ██╗ ██████╗ █████╗ ████████╗██╗ ██╗ █████╗ ██████╗ ███████╗ | |
# ██╔══██╗██║ ██╔═══██╗██╔══██╗╚══██╔══╝██║ ██║██╔══██╗██╔══██╗██╔════╝ | |
# ██████╔╝██║ ██║ ██║███████║ ██║ ██║ █╗ ██║███████║██████╔╝█████╗ | |
# ██╔══██╗██║ ██║ ██║██╔══██║ ██║ ██║███╗██║██╔══██║██╔══██╗██╔══╝ | |
# ██████╔╝███████╗╚██████╔╝██║ ██║ ██║ ╚███╔███╔╝██║ ██║██║ ██║███████╗ | |
# ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | |
# | |
# ██████╗ ███████╗████████╗ █████╗ | |
# ██╔══██╗██╔════╝╚══██╔══╝██╔══██╗ | |
# ██████╔╝█████╗ ██║ ███████║ | |
# ██╔══██╗██╔══╝ ██║ ██╔══██║ | |
# ██████╔╝███████╗ ██║ ██║ ██║ | |
# ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ | |
# | |
# Remove HP bloatware / crapware - BETA version | |
# | |
# -- source : https://gist.github.com/mark05e/a79221b4245962a477a49eb281d97388 | |
# -- contrib: francishagyard2, mark05E, erottier, JoachimBerghmans, sikkepitje, Ithendyr | |
# -- note : this script could use your improvements. contributions welcome! | |
# List of built-in apps to remove | |
$UninstallPackages = @( | |
"AD2F1837.HPJumpStarts" | |
"AD2F1837.HPPCHardwareDiagnosticsWindows" | |
"AD2F1837.HPPowerManager" | |
"AD2F1837.HPPrivacySettings" | |
"AD2F1837.HPSupportAssistant" | |
"AD2F1837.HPSureShieldAI" | |
"AD2F1837.HPSystemInformation" | |
"AD2F1837.HPQuickDrop" | |
"AD2F1837.HPWorkWell" | |
"AD2F1837.myHP" | |
"AD2F1837.HPDesktopSupportUtilities" | |
"AD2F1837.HPQuickTouch" | |
"AD2F1837.HPEasyClean" | |
"AD2F1837.HPSystemInformation" | |
) | |
# List of programs to uninstall | |
$UninstallPrograms = @( | |
"HP Device Access Manager" | |
"HP Client Security Manager" | |
"HP Connection Optimizer" | |
"HP Documentation" | |
"HP MAC Address Manager" | |
"HP Notifications" | |
"HP System Info HSA Service" | |
"HP Security Update Service" | |
"HP System Default Settings" | |
"HP Sure Click" | |
"HP Sure Click Security Browser" | |
"HP Sure Run" | |
"HP Sure Run Module" | |
"HP Sure Recover" | |
"HP Sure Sense" | |
"HP Sure Sense Installer" | |
"HP Wolf Security" | |
"HP Wolf Security - Console" | |
"HP Wolf Security Application Support for Sure Sense" | |
"HP Wolf Security Application Support for Windows" | |
) | |
$HPidentifier = "AD2F1837" | |
$InstalledPackages = Get-AppxPackage -AllUsers ` | |
| Where-Object {($UninstallPackages -contains $_.Name) -or ($_.Name -match "^$HPidentifier")} | |
$ProvisionedPackages = Get-AppxProvisionedPackage -Online ` | |
| Where-Object {($UninstallPackages -contains $_.DisplayName) -or ($_.DisplayName -match "^$HPidentifier")} | |
$InstalledPrograms = Get-Package | Where-Object {$UninstallPrograms -contains $_.Name} | |
# Stop HP Services | |
Function StopDisableService($name) { | |
if (Get-Service -Name $name -ea SilentlyContinue) { | |
Stop-Service -Name $name -Force -Confirm:$False | |
Set-Service -Name $name -StartupType Disabled | |
} | |
} | |
StopDisableService -name "HotKeyServiceUWP" | |
StopDisableService -name "HPAppHelperCap" | |
StopDisableService -name "HP Comm Recover" | |
StopDisableService -name "HPDiagsCap" | |
StopDisableService -name "HotKeyServiceUWP" | |
StopDisableService -name "LanWlanWwanSwitchgingServiceUWP" # do we need to stop this? | |
StopDisableService -name "HPNetworkCap" | |
StopDisableService -name "HPSysInfoCap" | |
StopDisableService -name "HP TechPulse Core" | |
# Remove installed programs | |
$InstalledPrograms | ForEach-Object { | |
Write-Host -Object "Attempting to uninstall: [$($_.Name)]..." | |
Try { | |
$Null = $_ | Uninstall-Package -AllVersions -Force -ErrorAction Stop | |
Write-Host -Object "Successfully uninstalled: [$($_.Name)]" | |
} | |
Catch { | |
Write-Warning -Message "Failed to uninstall: [$($_.Name)]" | |
Write-Host -Object "Attempting to uninstall as MSI package: [$($_.Name)]..." | |
Try { | |
$product = Get-WmiObject win32_product | where { $_.name -like "$($_.Name)" } | |
if ($_ -ne $null) { | |
msiexec /x $product.IdentifyingNumber /quiet /noreboot | |
} | |
else { Write-Warning -Message "Can't find MSI package: [$($_.Name)]" } | |
} | |
Catch { Write-Warning -Message "Failed to uninstall MSI package: [$($_.Name)]" } | |
} | |
} | |
# Fallback attempt 1 to remove HP Wolf Security using msiexec | |
Try { | |
MsiExec /x "{0E2E04B0-9EDD-11EB-B38C-10604B96B11E}" /qn /norestart | |
Write-Host -Object "Fallback to MSI uninistall for HP Wolf Security initiated" | |
} | |
Catch { | |
Write-Warning -Object "Failed to uninstall HP Wolf Security using MSI - Error message: $($_.Exception.Message)" | |
} | |
# Fallback attempt 2 to remove HP Wolf Security using msiexec | |
Try { | |
MsiExec /x "{4DA839F0-72CF-11EC-B247-3863BB3CB5A8}" /qn /norestart | |
Write-Host -Object "Fallback to MSI uninistall for HP Wolf 2 Security initiated" | |
} | |
Catch { | |
Write-Warning -Object "Failed to uninstall HP Wolf Security 2 using MSI - Error message: $($_.Exception.Message)" | |
} | |
# Remove appx provisioned packages - AppxProvisionedPackage | |
ForEach ($ProvPackage in $ProvisionedPackages) { | |
Write-Host -Object "Attempting to remove provisioned package: [$($ProvPackage.DisplayName)]..." | |
Try { | |
$Null = Remove-AppxProvisionedPackage -PackageName $ProvPackage.PackageName -Online -ErrorAction Stop | |
Write-Host -Object "Successfully removed provisioned package: [$($ProvPackage.DisplayName)]" | |
} | |
Catch {Write-Warning -Message "Failed to remove provisioned package: [$($ProvPackage.DisplayName)]"} | |
} | |
# Remove appx packages - AppxPackage | |
ForEach ($AppxPackage in $InstalledPackages) { | |
Write-Host -Object "Attempting to remove Appx package: [$($AppxPackage.Name)]..." | |
Try { | |
$Null = Remove-AppxPackage -Package $AppxPackage.PackageFullName -AllUsers -ErrorAction Stop | |
Write-Host -Object "Successfully removed Appx package: [$($AppxPackage.Name)]" | |
} | |
Catch {Write-Warning -Message "Failed to remove Appx package: [$($AppxPackage.Name)]"} | |
} | |
# # Uncomment this section to see what is left behind | |
# Write-Host "Checking stuff after running script" | |
# Write-Host "For Get-AppxPackage -AllUsers" | |
# Get-AppxPackage -AllUsers | where {$_.Name -like "*HP*"} | |
# Write-Host "For Get-AppxProvisionedPackage -Online" | |
# Get-AppxProvisionedPackage -Online | where {$_.DisplayName -like "*HP*"} | |
# Write-Host "For Get-Package" | |
# Get-Package | select Name, FastPackageReference, ProviderName, Summary | Where {$_.Name -like "*HP*"} | Format-List | |
# # Feature - Ask for reboot after running the script | |
# $input = Read-Host "Restart computer now [y/n]" | |
# switch($input){ | |
# y{Restart-computer -Force -Confirm:$false} | |
# n{exit} | |
# default{write-warning "Skipping reboot."} | |
# } |
Hi @funk0id, thank you for the information! Is it W10 of W11 by the way? I think it shouldn't really matter but just to be sure. Maybe I can search on the internet for an image for those machines and see what happens.
Services...
Try this. They're installed as drivers apparently
# List of service names
$services = @(
"HpTouchpointAnalyticsService",
"HPSysInfoCap",
"HPOmenCap",
"HPOmenCap",
"HPDiagsCap",
"HPAppHelperCap",
"HPNetworkCap"
)
foreach ($service in $services) {
try {
# Check if the service exists
$serviceExists = Get-Service -Name $service -ErrorAction SilentlyContinue
if ($serviceExists) {
# Stop the service
Write-Host "Stopping service: $service"
Stop-Service -Name $service -ErrorAction Stop
# Set service startup type to Disabled
Write-Host "Disabling service: $service"
Set-Service -Name $service -StartupType Disabled -ErrorAction Stop
# Delete the service using sc.exe
Write-Host "Deleting service: $service"
& sc.exe delete $service
}
else {
Write-Host "Service $service does not exist. Skipping..."
}
}
catch {
Write-Host "Error occurred with service: $service. Error: $_"
}
}
Write-Host "Operation completed."
Hi @funk0id, thank you for the information! Is it W10 of W11 by the way? I think it shouldn't really matter but just to be sure. Maybe I can search on the internet for an image for those machines and see what happens.
W11
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I managed to get it going with remediations too thanks @foeyonghai and others that have contributed.
I've not done a manual run of it to see what's going on but I've still ended up with the following remaining in add remove programs and services...
Add remove programs...
HP Connection Optimizer
HP Documentation
Z by HP Data Science Stack Manager 1.5.3
Services...
HP App Helper HSA Service
HP Comm Recovery
HP Diagnostics and HSA Service
HP Hotkey UWP Service
HP Insights Analytics
HP LAN/WLAN.WWAN Switching UWP Service
HP Network HSA Service
HP SFU Service
HP System info HSA Service
(Edit - Note this is with a fresh batch of G11 devices that shipped a couple of weeks ago)
(Edit 2 - I've just added the Z by HP one to the list too, hadn't noticed that)