标签: windows-service

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万
查看次数

如何在 Windows 上使用某些启动参数启动服务

如何使用某些参数启动服务?在另一个问题中,我发现

net start servicename 等等

但是如果我尝试这个,就会向我net抛出一个语法错误。

我究竟做错了什么?

编辑:澄清net start servicename工作正常,但我需要将参数传递给服务。我可以services.msc通过在启动服务之前填写启动参数来手动执行此操作。但是我怎么能从脚本中做到这一点呢?

另一个编辑:对不起,但我的问题具有误导性。在我的测试中,我有更多的参数,这不是/blah net start抱怨。事实上,任何以斜杠开头的东西都可以。所以net start servicename /blah行得通,net start servicename blah行不通。既然我需要net start servicename /foo barbar那就是问题所在。

windows windows-service

20
推荐指数
3
解决办法
13万
查看次数

如何在不使用 sc qc 的情况下获取 Windows 服务可执行文件的路径?

我需要通过命令提示符查询 Windows 服务的可执行路径。我想我的方式做到这一点是:sc qc myServiceName,但是当我这样做,我得到以下错误:

[SC] QueryServiceConfig 失败 122:

传递给系统调用的数据区太小。

[SC] GetServiceConfig 需要 1094 字节

我认为这意味着 sc 命令正在向其他一些库发送一个数据结构,该结构对于需要返回的数据来说太小了。SC 没有用更大的数据结构(1094 字节)很好地重试,它会爆炸并给我这个丑陋的错误消息。谢谢微$oft。

那么有没有办法解决这个错误?我只需要可执行文件的路径,但如果需要,我会从其他一些文本中解析它。

windows windows-service windows-command-prompt

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

如何在 Windows Server 启动时将 SSH 密钥添加到 PuTTY 代理?

每次 Windows 服务器启动时,我都需要向 Putty Agent (pagent.exe) 添加一个私有 SSH 密钥——在用户交互登录之前。密钥将由服务使用。

如果是普通用户需要使用密钥,我只会在启动文件夹中放置一个快捷方式,但是,这在服务器上不起作用,因为没有用户登录。

我在 Windows Server 2008 和 Windows Server 2003 上都需要这个。

我认为这一定是一个非常常见的用例,因为使用 SSH 和 SFTP 进行公钥身份验证变得更加普遍。

windows-server-2003 windows-server-2008 windows-service putty ssh-agent

16
推荐指数
1
解决办法
2万
查看次数

将服务 StartType 设置为 Automatic - Delayed

使用Set-Service,我可以StartTypeBoot, System, Automatic, Manual, Disabled. 使用services.msc,我可以将某些服务设置为以 优先级启动Automatic (Delayed Start)。但是,Get-Service仍将这些延迟启动服务报告为StartType : Automatic,并Set-Service在尝试设置这些值时出错。

我可以通过powershell设置这个属性吗?还是我仅限于 UI或 GPO

powershell startup windows-service

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

使用 sc.exe 创建服务的问题

我有这个命令来创建一个服务:

sc create svnserve binpath="\"C:\Program Files (x86)\Subversion\bin\svnserve.exe\" --service --root C:\SVNRoot" displayname="Subversion" depend=tcpip start=auto obj="NT AUTHORITY\LocalService"

不幸的是,它似乎不起作用,即使语法是正确的。当我运行它时,我得到了使用说明(我想这是告诉我我提供了不正确的参数的一种方式,尽管我不知道我可能提供了哪些不正确的参数)。

任何人都可以帮助我摆脱困境吗?谢谢!

windows-service

15
推荐指数
2
解决办法
3万
查看次数

在 Windows 服务中,如果启动类型为“自动”,是否会保留启动参数?

好吧,标题说的是,在 Windows 服务中,如果启动类型为“自动”,启动参数会在重新启动后保留吗?

非常感谢

windows windows-server-2008 windows-service

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

如何支持我不禁用 Windows 防火墙服务的建议?

我从直接的个人经验中知道,在 post-XP 系统上禁用 Windows 防火墙服务会导致各种网络问题,禁用它的正确方法是将其配置为不阻止任何流量,但让实际服务继续运行. 这是因为从 Vista 开始,Windows 防火墙服务是 Windows 网络堆栈的关键组件,停止它会以完全随机的方式造成严重破坏。

然而,我不断发现那些认为停止和禁用服务是一个很好的解决方案的人,而花时间正确禁用它只是太多不必要的工作。然后,当各种网络问题接踵而至时,他们只是不会承认真正的原因,而是会尝试其他任何事情,然后才勉强接受,是的,也许该服务应该真正保持运行。

除了用重(和/或尖锐)物体击打那些人之外,这里真正的解决方案是官方文件,说明“不要禁用此服务,否则您只是在自找麻烦”。然而,我能找到的关于此主题的唯一帖子只是说“Microsoft 不支持停止与具有高级安全性的 Windows 防火墙相关的服务”,这看起来并不足以阻止他们做愚蠢的事情.

有什么更好的我可以参考以支持我的说法,即确实不应停止 Windows 防火墙服务?


稍微澄清一下:我其实不是指用户,而是指态度太强,知识太少的管理员,他们认为上述配置恰到好处,在他们的整个网络上通过 GPO 实施,根本不是当我告诉他们他们遇到的那些随机网络问题很可能是由它引起时,我会倾听。

我目前的任务是解决这些问题(并实施一些由于这个问题而无法按预期工作的新服务),我需要一种方法来说服他们不要管那个该死的服务;遗憾的是,个人经验似乎不够正式。

windows windows-service windows-firewall

14
推荐指数
1
解决办法
2590
查看次数

Windows 上的 nginx 停止/重新加载失败,因为访问被拒绝

我在 Windows Server 2008 R2 (x64) 上运行 nginx 作为 Windows 服务。为此,我正在使用 Windows 服务包装器。(实际上,我已经按照本教程进行了操作:http : //mercurial.selenic.com/wiki/HgServeNginxWindows。)

服务运行正常。但是,服务器不处理信号(例如停止/重新加载)。

这意味着如果我停止服务,nginx 不会停止。(我必须杀死它。)

当我想从命令行重新加载配置时:

C:\Users\Administrator>E:\apath\nginx\nginx.exe -p E:\apath\nginx -c E:\apath\nginx.conf -s reload
Run Code Online (Sandbox Code Playgroud)

它输出:

nginx: [error] OpenEvent("Global\ngx_reload_4268") failed (5: Access is denied)
Run Code Online (Sandbox Code Playgroud)

我以管理员身份运行命令,该服务在 NETWORK SERVICE 用户下运行。

任何提示或类似问题?

windows windows-service nginx

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

无法使用 sc 命令删除现有服务:指定的服务不作为已安装的服务存在

我想删除MyNewService,但是当我输入时

sc delete MyNewService
Run Code Online (Sandbox Code Playgroud)

我根本无法删除它,因为没有这样的服务,由于

“指定的服务不作为已安装的服务存在”

错误

任何想法如何解决这个问题?

编辑:就服务面板而言,MyNewService一直存在。我重新启动了电脑几次,它就在那里。

windows-service

12
推荐指数
1
解决办法
4万
查看次数