I have following scenario:

  • I'm local admin on my computer with Windows 7 Enterprise and UAC enabled
  • Computer is not in domain and is not under group policy
  • I run some program without running it as administrator
  • This program sometimes needs to control locally installed windows service (with Manual start options)
  • Without running initial program as administrator or without disabling UAC controlling windows service fails.

How can I grant permissions to my account to control this particular service without running with elevated privileges or disabling UAC?

  • The qeuestion is how are you running it (running it from a batch file using a scheduled task?)? and when (startup shutdown)?
    – KCotreau
    Jul 27, 2011 at 12:30

1 Answer 1


Services, just like about every Windows object, have an ACL associated with it, which can be modified to give you access.

As far as I know, there is no official UI for managing service ACLs, so you're left with two options:

  1. Download Process Explorer. Start your service (ProcExp only shows running services). In ProcExp, double-click on the process for the Service (or right-click and click Properties). Click the "Services" tab. Typically your program is run by a particular user - Add that user. Hit Advanced. The permissions you can manage include stop/start of this Service and sending custom-defined commands to it.

    Process Hacker is similar, but can manage stopped services as well.

  2. sc sdshow, learn the ACE syntax and access rights, edit the security descriptor, pass it back to sc sdset.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .