Starting Win32 Service
placid
Bulkan at gmail.com
Wed Sep 27 22:46:14 EDT 2006
placid wrote:
> 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?
And to answer my own question, the way to pass in arguments is via the
key=value way so;
service.ChangeStartMode(StartMode = "Automatic")
Cheers
P.S: Dont you just love trial and error/brute force?
More information about the Python-list
mailing list