我创建了一个Windows服务,它在后台启动一个程序,并确保不再需要进一步安装一个and应用程序。
当我在管理员帐户中启动此服务时,后台程序将很好地启动,并以用户名运行。
http://i.imgur.com/oKQl9ym.png
一切工作都很完美,我可以访问网站,而不需要额外的信息等等。
当我注销时,它也能工作,并使用不同的管理程序登录。
但是,它不能在域的标准用户下工作。进程确实启动,但不是在系统下(但为空白用户名),因此后台程序启动,但没有正确的用户名。
为什么会这样呢?我需要更改哪些内容,以便所有登录的标准用户也以管理员身份运行此服务?
发布于 2017-03-23 17:27:14
我怀疑问题是这样的:系统帐户只有本地(而不是域或网络) auth,所以当普通用户登录时,它不能生成或命令任何已经以提升的权限运行的进程。这是一个特性,而不是一个bug --不能让用户或来宾帐户调用根级进程,而不需要某种抽象层来阻止用户/客户提升自己。
如果我可以提供另一种方法:创建一个拥有修改web应用程序的适当权限的帐户,管理它,等等,并在那些creds下运行您的服务。锁定这个帐户供互动使用(没有人可以登录使用它),并确保它没有对整个系统的权利,只有网页应用程序和适当的资源,包括你的升级检查程序。
由于您正在检查web应用程序的更新状态,而不是触发对用户登录的签入,所以将其作为预定任务运行(同样使用上面的服务帐户)。这样,当用户访问站点时,您不需要运行特定的服务来启动升级后台任务,而是按照已经处于后台的既定计划对其进行扫描和升级。
https://serverfault.com/questions/840202
复制相似问题