Within PowerShell, this is very easy to do.
The below block of script will take a computer name, your username and password, connect to the remote computer and list all installed software by name:
$computerName = "SomeComputerName"
$yourAccount = Get-Credential
Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
Get-WmiObject Win32_Product | Select Name
}
When you have the name of the product you want to uninstall remotely - you can the perform an uninstall like this:
$computerName = "SomeComputerName"
$appName = "AppName"
$yourAccount = Get-Credential
Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
Get-WmiObject Win32_product | Where {$_.name -eq $appName} | ForEach {
$_.Uninstall()
}
}
In the above eaxmples - replace "SomeComputerName" with the name of the computer you wish to uninstall from.
You can also make the script prompt you for a computer name if you prefer with the following line:
$computerName = Read-Host "Enter Computer Name"
If you have multiple computers with the same piece of software that you want to uninstall - you can also define an array of computers to work with and do uninstalls from lots of machines:
$computerNames = @("SomeComputerName1", "SomeComputerName2", "SomeComputerName3")
$appName = "AppName"
$yourAccount = Get-Credential
ForEach ($computerName in $computerNames) {
Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
Get-WmiObject Win32_product | Where {$_.name -eq $appName} | ForEach {
$_.Uninstall()
}
}
}
Answer from Fazer87 on Stack ExchangeWithin PowerShell, this is very easy to do.
The below block of script will take a computer name, your username and password, connect to the remote computer and list all installed software by name:
$computerName = "SomeComputerName"
$yourAccount = Get-Credential
Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
Get-WmiObject Win32_Product | Select Name
}
When you have the name of the product you want to uninstall remotely - you can the perform an uninstall like this:
$computerName = "SomeComputerName"
$appName = "AppName"
$yourAccount = Get-Credential
Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
Get-WmiObject Win32_product | Where {$_.name -eq $appName} | ForEach {
$_.Uninstall()
}
}
In the above eaxmples - replace "SomeComputerName" with the name of the computer you wish to uninstall from.
You can also make the script prompt you for a computer name if you prefer with the following line:
$computerName = Read-Host "Enter Computer Name"
If you have multiple computers with the same piece of software that you want to uninstall - you can also define an array of computers to work with and do uninstalls from lots of machines:
$computerNames = @("SomeComputerName1", "SomeComputerName2", "SomeComputerName3")
$appName = "AppName"
$yourAccount = Get-Credential
ForEach ($computerName in $computerNames) {
Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
Get-WmiObject Win32_product | Where {$_.name -eq $appName} | ForEach {
$_.Uninstall()
}
}
}
If you create a file called "servers.txt" and place your list of servers in it you could also reference $computerNames as follows:
$computerNames = Get-Content "C:\some-directory\servers.txt"
$appName = "AppName"
$yourAccount = Get-Credential
ForEach ($computerName in $computerNames) {
Invoke-Command -ComputerName $computerName -Credential $yourAccount -ScriptBlock {
Get-WmiObject Win32_product | Where {$_.name -eq $appName} | ForEach {
$_.Uninstall()
}
}
}
I've used this approach many times in production environments and it seems to work for me. Always test this in a non-production environment before completing in a prod environment.
Uninstall software remotely using the command line - Software & Applications - Spiceworks Community
Remotely uninstall apps on multiple Win10 clients...
Uninstall programs remotely - has Active Directory
Remotely Uninstall Software
Videos
Is it possible to remove a Windows 10 'app' from multiple remote computers? For example, lets say I wanted to have Paint 3D uninstalled from every Windows 10 Enterprise computer in our domain/network. Right now, the only way I know how to do that is to manually sign on to every single computer, one at a time, either directly or via Remote Desktop Connection, and run a PowerShell command that removes the app for all users. But I have hundreds of machines so hopefully there is a quicker way. Can I run 'Remove-AppxPackage' remotely from a central location? or run it as a logon script? or something like that? Again, the goal is have an app removed from every Win10 device and every user profile on every Win10 device. Thank you in advance!
Hey Defenders of the Systems of the Universe,
Anyone know of a tool that can uninstall software remotely, that is me being able to uninstall software on someone else's computer? Here's some background:
My team uses BigFix to push software and the majority of our users do not have local admin rights on their machines. For us to create an uninstall job from .exe files can be challenging and/or time consuming. I need to empower my help desk to be able to uninstall software even if an uninstall job does not exist. Caveats:
The helpdesk has an elevated AD account that gives them local admin rights to any machine. I know that they can remote into the user's machine, temporarily give the user local admin rights, and uninstall said software. I also know that they can just RDP into the user's box and uninstall software using their aforementioned elevated accounts. Looking for an 'easier' solution for them.
I know there is a way to remove software remotely using the cmd line and registry. Expecting them to use that method is out of the question as it is too complex and/or detailed for them.
Anyone know if any tools that would allow the uninstalls?
Here’s a how-to on one method that can be done via command line: http://community.spiceworks.com/how_to/show/179-using-a-command-line-to-uninstall-software-on-remote-pcs
In addition to this, and to others’ suggestions about creating a policy and covering your *ss, I’d also recommend that you follow up with users, maybe with a friendly email saying “I saw you had X installed, it’s against policy, so it’s now been removed from your workstation.” Otherwise you can expect to see things get reinstalled on a good percentage of machines, and then you have to start all over. In addition, a friendly reminder to people about what’s permitted and what’s not is an effective technique for informing users that you’re aware of what’s happening on your network. It’s a subtle way of letting them know you’re watching.
cduff has posted the same link in the meantime.

I am new to this job so i do not want to be that guy that goes to every computer while they are working and start removing software. People that have been here for awhile are to comfortable and download pretty much what ever they want like coupon bars, uturrent, and so on. I want to do a silent uninstall so they do not realize what just happened and forget that it’s even there. Just to many unwanted software that Spiceworks picked up and I want to remove them. What’s the easiest way to do this?