代码之家  ›  专栏  ›  技术社区  ›  Lou

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

  •  0
  • Lou  · 技术社区  · 6 年前

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

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

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

    1. 或者,是否可以授予此单一服务启动其他服务的权限,而不作为本地系统启动它?

    1 回复  |  直到 6 年前
        1
  •  1
  •   CoreTech    6 年前

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

    enter image description here