我有一个专门负责我工作的系统用户。在工作中我需要 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
运行NET
START [Service Name]
使用On an event
触发器(自定义设置,事件 ID 4647,用户启动的注销,针对用户)NET
作为STOP [Service Name]
参数运行
答案2
另一种选择是使用组策略。
以 postgres 用户身份登录:
gpedit.msc
-> User Configuration
-> Windows Settings
->Scripts (Logon/Logoff)
这将要求用户有启动/停止服务的权限