从具有pipe理员权限的Web应用程序启动一个服务,并通过batch file传递

我正在开发一个运行在虚拟机上的监视应用程序,我希望我的同事能够在不连接虚拟机的情况下使用它。 它工作正常,但我有一个问题。

我的目标之一是使用batch filecmd文件启动/停止服务(在我的背后使用Class Runtime)。 问题是我需要pipe理员权限才能做到这一点。 我发现的所有方法(如Runas或者一些batch file)只有当用户在vm上并input密码或者点击“你想以pipe理员身份运行这个应用程序”时才会起作用。 我想不要使用任务计划程序来始终以pipe理员身份启动cmd。 我已经知道你可以使用软件作为“沙努尔”,但我不喜欢。

唯一可行的方法是以pipe理员身份启动应用程序,并且工作正常(我使用“net start / stop”命令)。 但我想让每个人都开始这个应用程序(万一我不在这里)。 在文件中写入login名/密码不是问题。

有没有办法做到这一点?

虚拟机运行在Windows 7上。

先谢谢你。

Solutions Collecting From Web of "从具有pipe理员权限的Web应用程序启动一个服务,并通过batch file传递"

你不需要成为管理员来启动和停止一个服务,你只需要这个权限。 使用Windows 7 Professional,您可以通过内置的组策略编辑器来执行此操作。

在Windows 7 Home中,没有策略编辑器。

我使用一个名为SetACL的工具来执行此操作,例如:

setacl -on "service-name" -ot srv -actn ace -ace "n:betrand;p:start_stop" 

其中"service-name""service-name"betrand是要允许启动和停止服务的用户。

网站提供完整的选项列表:

另一个选项是直接来自Microsoft的SubInACL工具。