In the context of VMware environments, particularly when running Lenovo OEM virtual machines or using Lenovo pre-configured VMware images, you might encounter the process TPDSrm.exe. This executable is still related to Lenovo’s ThinkPad Power Data Saver (TPDS) utility but it does not serve any meaningful function inside a VMware virtual machine.


🔍 What is TPDSrm.exe Doing in VMware?

If you see TPDSrm.exe running within a VMware VM, it likely means that:

  1. A Lenovo OEM Windows image was used to build the VM.

  2. The image was cloned or migrated from a physical Lenovo machine with pre-installed utilities.

  3. Lenovo’s Power Management utilities were inadvertently carried into the VM, even though power management is handled by VMware Tools and not by physical drivers inside a guest VM.


⚠️ Potential Issues

  • Unnecessary Resource Usage: TPDSrm.exe can consume memory and CPU resources in a virtual machine where it serves no purpose.

  • Startup Delays: It may attempt to access hardware-specific APIs that don’t exist in the virtualised environment, causing errors or slow boot times.

  • Error Logs or Warnings: You might see application logs showing power service errors or Lenovo-specific services failing.


Recommended Actions in VMware

  1. Disable the Service:

    • Open Task Manager or Services.msc

    • Look for any Lenovo or ThinkPad Power-related services

    • Set them to Disabled or Manual

  2. Uninstall Lenovo Power Utilities:

    • Go to Control Panel → Programs and Features

    • Remove:

      • Lenovo Power Manager

      • Lenovo Settings Power

      • ThinkPad Power Management Driver

    • Restart the VM

  3. Clean the Registry (Optional):

    • If you’re comfortable editing the Windows Registry, remove any residual Lenovo power entries under:

      sql
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

🧼 Best Practice for VMware Templates

If you manage virtual desktop infrastructure (VDI) or deploy golden images:

  • Always use clean, hardware-neutral Windows ISOs for VMware VMs.

  • Avoid capturing images from OEM devices unless you’ve fully stripped out vendor-specific drivers and utilities.


📌 Conclusion

TPDSrm.exe in VMware is a leftover from Lenovo-specific power management tools, typically unnecessary and best removed. It does not contribute to performance or energy saving in virtual environments and may even degrade VM efficiency or cause errors.

Would you like a PowerShell script or command line method to automate the cleanup across multiple VMs?

 

4o
You said:
Yes
ChatGPT said:

Certainly! Below is a PowerShell script you can use to automate the detection and removal of TPDSrm.exe and its related Lenovo power management utilities across Windows-based VMware virtual machines. This script is particularly useful in enterprise or VDI environments where you need to clean Lenovo bloatware from cloned or repurposed VMs.


🧰 PowerShell Script to Remove TPDSrm.exe and Related Lenovo Utilities

powershell
# Run as Administrator
# This script checks for and removes Lenovo Power Management utilities including TPDSrm.exe
Write-Host “Starting Lenovo Power Utility Cleanup…” -ForegroundColor Cyan# List of common Lenovo power-related software names
$lenovoPackages = @(
“Lenovo Power Manager”,
“ThinkPad Power Manager”,
“ThinkPad Power Management Driver”,
“Lenovo Settings Power”
)

# Remove software if found
foreach ($package in $lenovoPackages) {
$app = Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like “*$package*” }
if ($app) {
Write-Host “Uninstalling $($app.Name)…” -ForegroundColor Yellow
$app.Uninstall() | Out-Null
} else {
Write-Host “$package not found.” -ForegroundColor DarkGray
}
}

# Stop and disable Lenovo services if any remain
$lenovoServices = Get-Service | Where-Object { $_.DisplayName -like “*Lenovo*” -or $_.Name -like “*TPDS*” }
foreach ($service in $lenovoServices) {
Write-Host “Disabling service: $($service.DisplayName)” -ForegroundColor Magenta
Stop-Service -Name $service.Name -Force -ErrorAction SilentlyContinue
Set-Service -Name $service.Name -StartupType Disabled
}

# Remove TPDSrm.exe if still present
$paths = @(
“C:\Program Files\Lenovo\”,
“C:\Program Files (x86)\Lenovo\”
)

foreach ($path in $paths) {
$files = Get-ChildItem -Path $path -Recurse -Filter “TPDSrm.exe” -ErrorAction SilentlyContinue
foreach ($file in $files) {
try {
Write-Host “Removing file: $($file.FullName)” -ForegroundColor Red
Remove-Item -Path $file.FullName -Force
} catch {
Write-Host “Failed to delete: $($file.FullName)” -ForegroundColor DarkRed
}
}
}

Write-Host “Lenovo power utilities cleanup completed.” -ForegroundColor Green


🔐 Execution Notes:

  • Run with Administrator privileges.

  • Ensure PowerShell Execution Policy is set to allow script execution:

    powershell
    Set-ExecutionPolicy RemoteSigned -Scope Process

🧪 Optional Enhancement:

To deploy this script across multiple VMs using Group Policy, SCCM, or Intune, you can wrap it in a .ps1 deployment package and schedule it on first boot or post-sysprep stage.

Similar Posts