Starting Win32 Service

placid Bulkan at gmail.com
Wed Sep 27 21:07:19 EDT 2006


Tim Golden wrote:
> [placid]
> | Using Tim Golden's wmi module you can get the service names
> |
> | import wmi
> | c = wmi.WMI ()
> | stopped_services = c.Win32_Service (StartMode="Auto", State="Stopped")
> | if stopped_services:
> |   for s in stopped_services:
> |     print s.Caption, "service is not running"
> | else:
> |   print "No auto services stopped"
> |
> | but how do i start services that are stopped?
>
> <code>
> import wmi
> c = wmi.WMI ()
> for method in c.Win32_Service._methods:
>   print method
>
> #
> #... includes StartService
> #
>
> print c.Win32_Service.StartService
>
> # <function StartService () => (ReturnValue)>
>
> #
> # Therefore, to start all non-running auto services (!)
> #
> for service in c.Win32_Service (StartMode="Auto", State="Stopped"):
>   print service.Caption
>   service.StartService ()
>
> </code>
>
> TJG
>

Thanks for that.

Now i was trying to use service.ChangeStartMode but each time i pass in
an argument i get the error;

#TypeError: __call__() takes exactly 1 argument (2 given)

but;

>>> print service.ChangeStartMode
<function ChangeStartMode (StartMode) => (ReturnValue)>

ChangeStartMode needs an argument!

What im i doing wrong here?

Cheers




More information about the Python-list mailing list