由作为本地系统运行的服务启动的应用程序的权限

时间:2018-09-10 11:40:32

标签: windows-services appdata local-system-account localsystem

我们有一个正在运行的旧服务,该服务负责监视另一个服务,但是还启动了一个控制台应用程序(用C编写),该应用程序继续在后台运行。如果我们从cmd提示符启动控制台应用程序,则可以正常运行。如果我们也以“网络服务”帐户启动该服务,则它也可以正常启动控制台应用程序,但在这种情况下,它无法启动其他服务。

因此,由于该服务必须监视(启动/停止)另一项服务,因此必须在本地系统帐户下启动该服务才能获得必要的特权-但是问题在于,由该服务启动的控制台应用程序无法从该服务读取其配置appdata文件夹。

我可以看到控制台应用程序将APPDATA文件夹获取为C:\Windows\System32\config\systemprofile\AppData\Roaming,但是该应用程序指出找不到该文件夹​​中的配置文件,因此它会自行关闭。当我从普通用户帐户启动它时,它将转到该用户的appdata文件夹并正常工作。我什至尝试为Users组的systemprofile\AppData\Roaming文件夹中的文件夹授予其他权限(这没有意义,因为该应用程序以本地系统运行),但这没有帮助。 / p>

  1. 使此控制台应用程序从“本地系统”应用程序数据文件夹中读取设置的最佳方法是什么?

  2. 或者,是否可以授予这一项服务权限以启动其他服务,而无需以本地系统身份启动它?

1 个答案:

答案 0 :(得分:1)

  

如果我们从cmd提示符启动控制台应用程序,它将正常工作。

这意味着您登录的帐户具有足够的权限来执行您需要的所有操作。在服务的“登录”选项卡上指定该帐户,您应该一切顺利!

enter image description here