标签: windows-service

如何在安装服务后添加对 Windows 服务的依赖

我有一个使用 SQL Server 数据库的 Windows 服务。我无法控制服务的安装,但想添加对服务的依赖,以确保它在 SQL 服务器启动后启动。(SQL 服务器与相关服务在同一台机器上运行)

是否有工具可以添加依赖项或可能直接编辑注册表?

windows windows-service

152
推荐指数
3
解决办法
23万
查看次数

如果 Windows 服务崩溃,如何自动重新启动它?

我有一个 Windows 服务,每隔几天就会意外退出。有没有一种简单的方法来监控它以确保它在崩溃时快速重启?

windows windows-service

63
推荐指数
4
解决办法
17万
查看次数

如何将服务的启动/停止/重启权限授予非域成员服务器上的任意用户或组?

我们在我们的服务器上运行了一套 Windows 服务,它们彼此独立地执行一系列自动化任务,除了一个服务负责其他服务。

如果其中一项服务未能响应或挂起,该服务将尝试重新启动该服务,如果在尝试期间抛出异常,则改为向支持团队发送电子邮件,以便他们可以自行重新启动该服务。

做了一些研究后,我遇到了一些“解决方案”,从KB907460 中提到的解决方法到提供服务运行管理员权限的帐户。

我对这两种方法都不满意 - 我不明白 Microsoft 知识库文章中概述的第一种方法的后果,但我绝对不想授予管理员访问服务运行的帐户的权限.

我快速浏览了本地安全策略,除了定义帐户是否可以作为服务登录的策略之外,我看不到任何其他看起来像是指服务的内容。

我们在 Server 2003 和 Server 2008 上运行它,所以任何想法或指示都会被慷慨地接收!


澄清:我不想授予给定用户或组启动/停止/重新启动所有服务的能力 - 我希望能够仅向给定用户或组授予对特定服务执行此操作的权限。


进一步说明:我需要授予这些权限的服务器不属于一个域——它们是两个面向 Internet 的服务器,它们接收文件、处理它们并将它们发送给第三方,以及为几个网站提供服务,所以Active Directory 组策略是不可能的。抱歉,我没有说得更清楚。

security windows permissions windows-service group-policy

63
推荐指数
2
解决办法
18万
查看次数

如何从脚本重新启动 Windows 服务?

我有一个批处理脚本,如下所示:

sc stop myservice
sc start myservice
Run Code Online (Sandbox Code Playgroud)

它出错是因为 sc 不会等到服务停止。如何使用脚本重新启动服务?

windows-service windows-command-prompt

41
推荐指数
5
解决办法
24万
查看次数

如何增加windows服务启动超时

我已将软件迁移到非常慢的服务器。由于系统超时,某些软件服务拒绝启动。如何将超时从默认的 30 秒(?)增加到几分钟?

先感谢您!

windows windows-service

39
推荐指数
2
解决办法
8万
查看次数

如何跟踪 Window 服务的 CPU 使用率?

我正在使用 Windows 任务管理器来跟踪 CPU 利用率。我注意到我的应用程序已列出,但 Windows 服务未列出。

例如,总 CPU 使用率被列为 70%,但列出的应用程序的摘要只有大约 30%。我认为不同之处在于 Windows 任务管理器的“进程”选项卡中未列出的服务。

windows windows-service central-processing-unit process

33
推荐指数
3
解决办法
7万
查看次数

什么是 svchost 以及为什么运行它的多个实例?

我的桌面上运行着六个实例,而我管理的服务器上可能运行着十个。这是什么,它对系统功能至关重要吗?

windows windows-service svchost process

27
推荐指数
3
解决办法
5557
查看次数

如何为本地系统配置代理设置?

如果我通过控制面板编辑代理设置,这些设置将存储在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable和 中...\ProxyServer。这些设置在作为服务运行时当然不会使用LOCAL SYSTEM

所以我尝试设置ProxyEnableProxyServerHKEY_USERS\S-1-5-18\...(以及HKEY_USERS\.DEFAULT\...系统上的所有其他用户),但这不起作用。

如何为LOCAL SYSTEM用户设置代理设置?

windows windows-service proxy local-system windows-registry

25
推荐指数
4
解决办法
20万
查看次数

如何以编程方式创建新的 Windows 用户配置文件?

我正在为 Windows 服务创建一个(本地)用户来运行。我有充分的理由不想使用 NETWORK SERVICE、LOCAL SERVICE 或 LOCAL SYSTEM。

我通过创建用户net user foobar "Abcd123!" /add- 这工作正常。

此时,c:\users\foobar不存在。

如果创建用户的主目录,在用户登录(或更相关地)或用户所使用的服务启动之前,Windows 会创建一个名为的隔壁用户配置文件c:\users\foobar-{gibberish/SID/whatever}- 这不是一个可预测的名称。

我需要用户的主目录来包含诸如.ssh目录之类的东西,像这样的.gitconfig工具(不限于那些工具)假设它将是一个人使用它们,因此用户配置进入~/.... 通常,来自 Unix 遗产的工具。

实际问题

那么 - 是否有一种编程方式(最好是 PowerShell 或开箱即用的命令行)来告诉 Windows 为本地用户创建用户配置文件?

或者,任何其他解决方法?

我还没有尝试的事情:

  • 一个 NSSM start/pre 钩子,将文件从其他地方复制到用户配置文件目录中,希望此时存在的Windows启动服务,创建用户配置文件,然后在启动之前将控制权交给运行钩子的 NSSM 包装器。
  • 将服务的 USERPROFILE 环境变量设置为实际用户配置文件目录以外的其他位置。这让我觉得很危险,但也可能工作正常。

其他上下文:

  • Windows Server 2016,桌面体验。
    • 无法使用 Core/Nano。
  • 没有活动目录在运行。不会有。
  • 这些是本地用户。
  • 我是通过 Ansible 完成的,Ansible 在幕后使用 PowerShell 来处理 Windows 的事情。特别是带有 Ansible 2.7.5的win_user模块。 …

windows powershell windows-service

25
推荐指数
2
解决办法
7049
查看次数

Windows 服务触发器启动 - 手动与自动的区别?

自 Windows Server 2008 R2(以及我认为用于客户端操作系统的 Windows 7)以来trigger start,Microsoft 已经为服务引入了服务。我确实理解automatic,automatic (delayed)manual启动类型之间的区别。从我在谷歌搜索的文章中读到的,我相信我确实理解trigger start(虽然从未使用过)的逻辑。

我不太确定我理解的是配置为automatic (trigger start)和的服务的差异,manual (trigger start)我没有运气找到任何解释。

我有点认为在这两种情况下,除非触发器启动它,否则服务不会运行,那么实际上有什么区别?

我遇到这个问题的原因实际上是监视自动启动类型的服务。由于服务设置为以触发器启动并且触发器无效,因此服务未运行并且监控以这种方式报告它,该自动服务未运行。

总结一下 - 我的问题是:

  1. automatic (trigger start)manual (trigger start)服务有什么区别?
  2. 如果服务将从 切换到automatic (trigger start)manual (trigger start)是否会对服务/应用程序(一般)产生任何影响?

windows windows-service

22
推荐指数
1
解决办法
7万
查看次数