当用户登录/退出时启动/停止服务

当用户登录/退出时启动/停止服务

我有一个专门负责我工作的系统用户。在工作中我需要 postgres,但在其他任何地方都不需要它。有没有办法在用户登录时启动 postgres 服务并在我注销时停止它?

请注意,该用户没有管理员权限,目前我无法使用此用户帐户启动服务。如果我必须更改它,那没问题,但不是最佳选择。

编辑

在工作期间,我将用户从工作用户切换到我的普通用户帐户。当我这样做时,postgres 应该继续运行。

答案1

您可以使用计划任务来执行此操作。

使用On connection to user session触发器运行包含NET START [Service Name]

使用On disconnect from user session触发器运行包含NET STOP [Service Name]

有关触发器的更多信息,请参见此处:http://technet.microsoft.com/en-us/library/cc748841(WS.10).aspx

您应该能够设置在具有启动/停止服务权限的帐户下运行的任务,这样您就不需要提升用户的权限。

编辑以下评论并更新问题:

使用触发器作为参数At log on运行NETSTART [Service Name]

使用On an event触发器(自定义设置,事件 ID 4647,用户启动的注销,针对用户)NET作为STOP [Service Name]参数运行

答案2

另一种选择是使用组策略。

以 postgres 用户身份登录:

gpedit.msc-> User Configuration-> Windows Settings->Scripts (Logon/Logoff)

这将要求用户有启动/停止服务的权限

相关内容