ma************* *@accenture.com (Matt Rapoport) wrote in message news:<41******* *************** ****@posting.go ogle.com>...
I'd like to programmaticall y 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/Coo.../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_compute r")
for service in c.Win32_Service (Name="unuseful _service"):
service.ChangeS tartMode (StartMode="Aut omatic")
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