On Jul 20, 5:14 pm, Tim Golden <m...@timgolden.me.uk> wrote: > mistersexy wrote: > > On Jul 20, 3:03 pm, Tim Golden <m...@timgolden.me.uk> wrote: > >> mistersexy wrote: > >>> I am trying to create a Windows service in Python using pywin32. I do > >>> not want this service to run under a user account. I want this service > >>> to be able to run as a LocalService, NetworkService and the like. How > >>> do I specify this using the win32 library? Thanks, everyone. > >> When you "install" the service, using the HandleCommandLine > >> option, specify --username= and --password options. > > >> TJG > > > That's exactly my point. I do not want to have to specify username and > > password options. For instance, when creating a Windows Service > > in .NET, it is possible to specify that the service should run using > > the LocalService or NetworkService account. Doing this, you would not > > need to specify username and password options. Is there a way to > > achieve this in Python? > > Sorry, I misread: I mentally removed the "not" in your 'I do not want > this service to run under a user account' and reinserted it > further on! > > By default, the service will run as LocalSystem: you > only specify a username to override that default. The value > in Username is passed straight through to the CreateService > Win32 API, and the docs for that: > > http://msdn.microsoft.com/en-us/library/ms682450%28VS.85%29.aspx > > say: > > """ > lpServiceStartName [in, optional] > > The name of the account under which the service should run. If the > service type is SERVICE_WIN32_OWN_PROCESS, use an account name in the form > DomainName\UserName. The service process will be logged on as this user. If > the account belongs to the built-in domain, you can specify .\UserName. > > If this parameter is NULL, CreateService uses the LocalSystem account. If > the service type specifies SERVICE_INTERACTIVE_PROCESS, the service must run > in the LocalSystem account. > > If this parameter is NT AUTHORITY\LocalService, CreateService uses the > LocalService account. If the parameter is NT AUTHORITY\NetworkService, > CreateService uses the NetworkService account. > > A shared process can run as any user. > > If the service type is SERVICE_KERNEL_DRIVER or > SERVICE_FILE_SYSTEM_DRIVER, the name is the driver object name that the > system uses to load the device driver. Specify NULL if the driver is to use a > default object name created by the I/O system. > > A service can be configured to use a managed account or a virtual > account. If the service is configured to use a managed service account, the > name is the managed service account name. If the service is configured to use > a virtual account, specify the name as NT SERVICE\ServiceName. For more > information about managed service accounts and virtual accounts, see the > Service Accounts Step-by-Step Guide. > > Windows Server 2008, Windows Vista, Windows Server 2003, and Windows > XP/2000: Managed service accounts and virtual accounts are not supported > until Windows 7 and Windows Server 2008 R2. > """ > > So, although I haven't tried it, it looks as though you can pass > "LocalService" or "NetworkService" and so on if you want to > override the default LocalSystem but don't want to specify a > username/password. > > TJG
I'll try this stuff. Thanks a million...I'll let everyone know how it goes. -- http://mail.python.org/mailman/listinfo/python-list