I wrote a C# application that unlocks users when they are locked out of their account (Active Directory). The application searches for users in a specific OU and will list t
You cannot use a Windows Service (easily), since a Windows Service cannot have a GUI. The only way to do this as a service would be to install the service, and then make a GUI app that used IPC to communicate the request to the service. This would open up a potential loophole, though.
If you're running on Vista, a good option would be to edit the manifest file and add requireAdministrator.
Edit:
It sounds like my first suggestion may be what you want... To do this, the basic process is:
You could then run the client as a normal user (since it just needs to talk to the service, it does not do anything that requires permissions).