Uninstall BMC Software Tool Using PowerShell

How to Completely Uninstall BMC Software Tool Using PowerShell
BMC Software tools are widely used in enterprise environments for IT operations, automation, and service management. However, in some cases, you may need to remove the BMC agent or software suite from endpoints either during system retirement, reinstallation, or troubleshooting. Unfortunately, many tutorials available online only provide partial uninstallation steps — often leaving behind registry entries, residual files, or broken entries in the “Add or Remove Programs” control panel.
In this blog post, we’ll walk you through a 100% working PowerShell script that:
- Initiates a silent uninstall of the BMC software using the official uninstaller
- Removes stale registry entries from both 32-bit and 64-bit uninstall paths
- Ensures the software entry is completely gone from Programs and Features
- Is fully scriptable and can be deployed via SCCM, Tanium, or other remote tools
Why Manual Uninstall Isn’t Enough
Simply deleting the BMC folder or stopping the related service won’t do the job. BMC software installs deep hooks into the operating system and generates multiple registry entries and services. Improper removal could cause lingering service failures, security issues, or block reinstallation.
The Problem with Existing Tutorials
Numerous blogs and community threads suggest basic uninstall methods — either using Programs and Features
or partial registry hacks. However, these methods often fail to clean up completely:
- Control Panel still shows BMC listed under installed programs
- Registry entries remain under
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- Leftover folders and binaries in
C:\Program Files\BMC Software
- Silent uninstall flags are not properly documented
Complete PowerShell Script
Here’s the complete PowerShell script that has been tested across Windows 10 and Windows Server systems and works reliably:
# Step 1: Run the BMC silent uninstall
$thorinstPath = "C:\Program Files\BMC Software\Uninstall\Install\instbin\thorinst.exe"
$controlFilePath = "C:\Program Files\BMC Software\Uninstall\Install\instdata\uninstall-all.ctl"
Start-Process -FilePath $thorinstPath -ArgumentList "-uninstall `"$controlFilePath`"" -Wait -NoNewWindow
# Step 2: Clean up stale entries from Programs and Features (registry)
$uninstallPaths = @(
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
)
foreach ($path in $uninstallPaths) {
Get-ChildItem -Path $path | ForEach-Object {
$displayName = ($_ | Get-ItemProperty).DisplayName 2>$null
if ($displayName -and $displayName -like "*BMC*") {
Write-Host "Removing stale entry: $displayName"
Remove-Item -Path $_.PsPath -Recurse -Force
}
}
}
Script Breakdown
Step 1: Uses thorinst.exe
to silently uninstall the product using the uninstall-all.ctl
configuration file. The -uninstall
switch ensures no user interaction is needed.
Step 2: Cleans up the residual registry entries from both native and WOW6432Node paths. This is key to removing entries that appear in the Control Panel but are not physically present anymore.
Optional Enhancements
- Use
Remove-Item -Path "C:\Program Files\BMC Software" -Recurse -Force
to clear any leftover directories. - Add logging to a file using
Out-File
for audit purposes. - Deploy via endpoint management tools like Intune, Tanium, SCCM, or PDQ Deploy.
Precautions
- Always test on a non-production machine.
- Ensure you have administrative privileges.
- Consider backing up registry or creating a system restore point before making changes.
Conclusion
If you’re struggling with stubborn BMC software that won’t fully uninstall or leaves broken entries in Add/Remove Programs, this PowerShell script is your all-in-one solution. Unlike most manual approaches, this method ensures the BMC agent or suite is removed cleanly and completely. It also prevents future installation or patching issues related to orphaned registry keys.
Bookmark this page and use the script in your IT automation workflows to streamline cleanup tasks. Whether you’re an IT admin, security engineer, or system integrator — this method will save you time, effort, and frustration.
Related posts:
- Automating Python Uninstallation with PowerShell
- Roundcube Webmail Persistent Cross-Site Scripting (XSS) Vulnerability
- Internet Shortcut Files Security Feature Bypass Vulnerability
- Jenkins Core Remote Code Execution Vulnerability (CVE-2024-23897)
- Birthday attacks against TLS ciphers with 64bit (Sweet32)
- [Solved] Windows Speculative Execution Configuration Check Vulnerabilities
- [Solved] CVE-2024-12686 BeyondTrust Privileged Remote Access (PRA) and Remote Support (RS) OS Command Injection Vulnerability
- CVE-2025-23040: GitHub Desktop Credential Leak Vulnerability (GHSA-36mm-rh9q-cpqq)
- [Solved] Windows Cached Logon Credentials Vulnerability
- [Solved] Curl Exposure of Sensitive Information Vulnerability (CVE-2025-0167)