【问题标题】:Starting a service as local administrator in Windows在 Windows 中以本地管理员身份启动服务
【发布时间】:2017-07-21 02:21:32
【问题描述】:

这似乎是一个愚蠢的问题,但我想知道,如果我使用 PC 中的本地管理员帐户启动服务并切换到另一个用户,该服务是否在该用户上运行?

长篇大论: 我使用本地管理员帐户在 PC 中安装了 filebeat 作为服务,并在那里启动了该服务。我想知道该服务是否仍在使用同一台 PC 的另一个用户帐户中运行。

我检查了任务管理器,它似乎显示它正在运行,但真的是这样吗?我已经收集了管理员帐户的日志,但它似乎没有从用户帐户发送日志。

谢谢

【问题讨论】:

  • services.msc MMC 管理单元的“登录”选项卡中显示什么?
  • 另外,请澄清您的意思是通过直接执行可执行映像手动启动进程,还是使用sc startnet start 实际启动Windows 服务(这两个命令是等效的)。
  • 我稍后会检查 services.msc。但在我的本地 PC 上,它位于此帐户:本地服务下。我根据link中的文档使用Start-Service filebeat 命令启动了服务@
  • 服务独立于登录用户运行。这就是他们的目的!切换用户对服务没有影响。安装服务也不会将其附加到您的帐户,除非安装程序要求您提供用户名和密码。
  • 它们是独立安装的吗?我安装filebeat的时候是在本地管理员账户下安装的。我是否需要在用户帐户中安装它并从那里启动它?谢谢。

标签: windows powershell elastic-stack filebeat


【解决方案1】:

根据您的评论:

但在我的本地电脑上,它位于此帐户:本地服务下

“本地服务”是一个特殊的内置 Windows 用户帐户,它为服务提供一组减少的权限。因此,回答您的问题:服务进程以您的“管理员”用户或管理员级别用户身份运行。

您的Start-Service 命令并未直接启动服务或服务进程,而是向服务控制管理器发送消息,然后启动服务。

请看这里:https://msdn.microsoft.com/en-us/library/windows/desktop/ms684188(v=vs.85).aspx

LocalService 帐户是服务控制管理器使用的预定义本地帐户。安全子系统无法识别此帐户,因此您无法在调用 LookupAccountName 函数时指定其名称。它在本地计算机上具有最低权限,并在网络上提供匿名凭据。

【讨论】:

  • 感谢您的澄清。为什么当我使用本地管理员运行服务并切换到另一个用户时,即使我已经切换了用户,该服务仍显示它仍在运行?简而言之,如果我使用本地管理员帐户运行服务并切换用户,该服务是否仍在运行?
  • @paaaaat Windows 是一个多用户操作系统,它允许来自不同用户的进程同时运行,并且服务进程不在桌面会话中运行,它们在不同的会话中运行(任务管理器可以显示会话 ID 列(如果启用)。此外,当您使用 Windows 的“切换用户”功能时(当两个本地用户同时登录时),本地用户会使用不同的会话。
  • 那么,当我在本地管理员帐户下启动服务时,该服务仅在该会话上运行,而不是在另一个用户的会话上运行?我说的对吗?
  • @paaaaat,没有。该服务独立于用户会话运行。 (从技术上讲,它在“会话零”中运行。)
猜你喜欢
  • 2015-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-13
  • 1970-01-01
  • 2019-09-16
  • 2016-09-15
  • 2021-01-01
相关资源
最近更新 更多