Backup is usually your last line of defense against malicious attackers and ransomware attacks, to make your backup environment a little bit more secure beyond what’s stated in the Veeam Backup & Replication Security & Compliance Analyzer found in the Veeam Backup & Replication Console itself is to also uninstall the Console from the backup server. This will make sure that if someone gains access to the backup server, at least they won’t have access to the console (however there’s still a lot of bad things they could do if they can log on to your server).

Now, to be able to actually uninstall the Console you also need to uninstall all the explorers first. One thing to note is when you upgrade your environment in the future to a new version of Veeam Backup & Replication, that process will most likely install the explorers and the console again so be sure to run the script again once the upgrade is finished.
To simplify the process I’ve created a powershell script that removes the explorers and the console for you. Use it at your own risk and try it out in a test environment first.
<#
.SYNOPSIS
A PowerShell script to uninstall all Veeam Explorers and Veeam Console
while leaving the Veeam Backup Engine intact. The script dynamically detects
installed applications based on specific patterns and includes error checking,
user confirmation, and logging.
.DESCRIPTION
- Dynamically finds all installed applications with names matching:
"Veeam" and "Explorer" or "Console".
- Displays a list of detected applications and prompts the user for confirmation.
- Uninstalls applications if the user confirms.
- Includes error handling and exits safely if no applications are found
or if the user declines to proceed.
.EXAMPLE
To execute the script:
1. Open PowerShell as an Administrator.
2. Navigate to the directory where the script is saved.
3. Run the script using the following command:
.\Uninstall-VeeamComponents.ps1
4. Follow the on-screen prompts to confirm uninstallation.
.NOTES
Author: Niclas Borgstrom
Version: 1.0
Last Updated: 2025-01-24
Requires: PowerShell 5.1 or higher (with administrator privileges)
#>
# Define the pattern to match for Veeam Explorers and other components
$applicationPatternsToUninstall = @(
"Explorer",
"Console"
)
# Function to retrieve installed applications matching a pattern
function Get-InstalledApplicationsByPattern {
param (
[Parameter(Mandatory = $true)]
[string]$Pattern
)
Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -match "Veeam" -and $_.Name -match $Pattern }
}
# Collect all applications matching the patterns
Write-Host "Scanning for matching applications..." -ForegroundColor Cyan
$allMatchingApplications = @()
foreach ($pattern in $applicationPatternsToUninstall) {
$matchingApps = Get-InstalledApplicationsByPattern -Pattern $pattern
if ($matchingApps) {
$allMatchingApplications += $matchingApps
}
}
# Display found applications and prompt user for confirmation
if ($allMatchingApplications.Count -gt 0) {
Write-Host "The following applications will be uninstalled:" -ForegroundColor Yellow
$allMatchingApplications | ForEach-Object { Write-Host "- $($_.Name)" -ForegroundColor White }
$response = Read-Host "Do you really want to uninstall these applications? (yes/no)"
if ($response -eq "yes") {
Write-Host "Proceeding with uninstallation..." -ForegroundColor Cyan
foreach ($app in $allMatchingApplications) {
try {
Write-Host "Uninstalling '$($app.Name)'..." -ForegroundColor Cyan
$app.Uninstall() | Out-Null
Write-Host "'$($app.Name)' has been uninstalled successfully." -ForegroundColor Green
} catch {
Write-Host "Failed to uninstall '$($app.Name)'. Error: $_" -ForegroundColor Red
}
}
Write-Host "Uninstallation process completed." -ForegroundColor Cyan
} else {
Write-Host "No applications were uninstalled. Exiting script." -ForegroundColor Yellow
}
} else {
Write-Host "No matching applications found. Exiting script." -ForegroundColor Gray
}
You must be logged in to post a comment.