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? -- http://mail.python.org/mailman/listinfo/python-list