从具有管理员权限的webapp启动服务,并通过批处理文件

时间:2016-05-16 09:15:57

标签: windows batch-file cmd admin

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

我的目标之一是使用批处理文件或cmd文件启动/停止服务(在我后面使用Class Runtime)。问题是我需要管理员权限才能这样做。我找到的所有方法(如Runas或某些批处理文件)仅在用户在vm上并输入密码或单击“是否要以管理员身份运行此应用程序”时才有效。我不想使用任务调度程序始终以管理员身份启动cmd。我已经知道你可以使用软件作为“沙努尔”,但我不愿意。

让它运行的唯一方法是以管理员身份启动应用程序,它运行正常(我正在使用“net start / stop”命令)。但我想让大家开始这个应用程序(如果我不在这里)。 在文件中写入登录名/密码不是问题。

有办法吗?

vm在Windows 7上运行。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

使用Windows 7 Home,没有策略编辑器。

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

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

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

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

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