How to remove a service or change the startup type to disabled
Tim Golden
tim.golden at viacom-outdoor.co.uk
Mon Sep 1 03:53:55 EDT 2003
matthew.rapoport at accenture.com (Matt Rapoport) wrote in message news:<4150f6c8.0308291044.2fb26d32 at posting.google.com>...
> I'd like to programmatically remove a service or change its startup
> type to disabled. I know how to remove it from the command line but
> is there another way using the win32 extensions?
Three answers:
1) The win32service module has a load of constants
for this sort of purpose. Do dir (win32service)
and look for things in capitals. At the moment,
I'll leave anyone else on the list who's had experience
of this to answer specifics.
2) Look at:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/115875
3) Use wmi. Get the wmi module from
http://tgolden.sc.sabren.com/python/wmi.html
and then do something like this:
<code>
import wmi
c = wmi.WMI () # or c = wmi.WMI ("other_computer")
for service in c.Win32_Service (Name="unuseful_service"):
service.ChangeStartMode (StartMode="Automatic")
for service in c.Win32_Service (Name="unwanted_service"):
service.Delete ()
</code>
The loops are just a fudge for the fact the the wmi
query always returns a list, albeit of length one. You
could equally well do:
service = c.Win32_Service (Name="unuseful_service")[0]
although this has the disadvantage (or, possibly, advantage)
of raising an exception if there is no such service.
TJG
More information about the Python-list
mailing list