Uninstall Software On A Remote Computer

By | May 5, 2006

Have you ever wanted to uninstall software remotely across your domain?
Well, this script can do just that!
All you will need is a couple of pieces of information and you can uninstall an application silently.

Copy and paste the following text into notepad and save it as a .vbs file.

'This script will enable Telnet and uninstall an application remotly.
'By Cheyenne Harden 4-28-06


Dim oWS, oWMI, oService, cServices
Dim sService, result, sComputer, sState
intSleepMed = 8000

' sState can be "Automatic", "Manual", or "Disabled"
Const title = "Service State Tool."
Set oWS = CreateObject("Wscript.Shell")
'telnet is the service used to connect remotely
sService = "Tlntsvr"

'This inputbox will prompt you for a computer name or IP
sComputer = inputbox("Enter Target computer's IP or name.",title,".")
If sComputer = "" then
 msgbox "Script halted. No changes were made.", vbInformation, title
End If

'This input box will allow you to set a service to auto, man, or disable
sState = inputbox("Enter state to set the service." & vbCrlf &_
 "Values can be automatic, manual, Or disabled.", title, "automatic")
Select Case lcase(sState)
 Case ""
 msgbox "Script halted. No changes were made.", vbInformation, title

 Case "automatic", "manual", "disabled"
 Case Else

msgbox "Values can be automatic, manual, or disabled.", vbExclamation, title
End Select

Loop until lcase(sState) = "automatic" Or lcase(sState) = "manual" Or lcase(sState) = "disabled"
' Can quit from here
result = MsgBox ("The " & sService & " service will be set to " & sState & ". Are you sure?", vbQuestion + vbYesno, title)
If result = vbNo Then
 Msgbox "Script halted. No changes were made.", vbInformation, title
End If

'This part of the script uses your credentials to access the remote computer
'You should be an admin to use this

Set oWMI = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")

' See if the displayname or name exists
Set cServices = oWMI.ExecQuery _
    ("Select * from Win32_Service Where Name = '" & sService & "' or displayName = '" & sService & "'")
If cServices.count > 0 Then
 For Each oService In cServices
' Give service 8 seconds to start
   wscript.Sleep intSleepMed
If oService.started = "False" Then
 Msgbox "The service is starting"
 wscript.Sleep intSleepMed
End If
  Msgbox "The " & sService & " service on " & sComputer & _
  " is now " & sState & ".", vbInformation, title

'This part of the script will find the uninstall string.

Const HKEY_LOCAL_MACHINE = &H80000002

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
    sComputer & "\root\default:StdRegProv")

'strUninstall is the name of the key path
'Ethereal is what you need to type in the input box
strUninstall = InputBox ("Enter the string to be uninstalled")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & strUninstall
strValueName = "UninstallString"
oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
Wscript.Echo "Uninstall Value: " & strValue


'This part of the script will Telnet into a computer and uninstall an application.


Dim strInput

Dim objShell, intShortSleep, intLongSleep, intVeryLongSleep, intXLSleep
Set objShell = CreateObject("WScript.Shell")


     If sComputer <> "" Then
     strInput = True
     End if
Loop until strInput = True

' Values set here
intShortSleep = 1000
intLongSleep = 2000
intVeryLongSleep = 4000
intXLSleep = 8000
var3 = "sc config Tlntsvr start= disabled"
var4 = "net stop Tlntsvr"
strSwitch = inputbox("Enter any needed Switches.",title,"")

wscript.Sleep 6000
' Cmd prompt opened
objShell.Run "cmd"
Wscript.Sleep intShortSleep

' Send change directory command
objShell.SendKeys "cd c:\"
Wscript.Sleep intShortSleep
objShell.SendKeys "{Enter}"
Wscript.Sleep intLongSleep

' Send telnet command
objShell.SendKeys "telnet " & sComputer
Wscript.Sleep intShortSleep
objShell.SendKeys "{Enter}"
Wscript.Sleep intXLSleep

'Uninstall Application
objShell.SendKeys strValue & " " & strSwitch
Wscript.Sleep intVeryLongSleep
objShell.SendKeys "{Enter}"

' Set Service to Disable
objShell.SendKeys var3
Wscript.Sleep intLongSleep
objShell.SendKeys "{Enter}"

'Exit Telnet
objShell.SendKeys var4
Wscript.Sleep intShortSleep
objShell.SendKeys "{Enter}"

End If
WScript.Echo "Your application has been uninstalled!"



Here is what you need to know to run this script:
1. Name of the computer you are targeting

2. Name of the uninstall key EX.(If you wanted to uninstall Ethereal you will use this Regkey  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal )
"Ethereal" is what you would type in without the quotes.

3. Any switches (Ex. For Ethereal to uninstall silently use a  /S).

*** Warning, Do not click on other application while running this script because of VBS send keys function will enter commands to the application that has focus.

This information is provided "AS IS" with no warranty expressed or implied.

Leave a Reply

Your email address will not be published. Required fields are marked *