Powershell 无法使用NSSM在窗口10中启动服务

Powershell 无法使用NSSM在窗口10中启动服务,powershell,batch-file,windows-services,window,windows-10,Powershell,Batch File,Windows Services,Window,Windows 10,我已经创建了一个小脚本文件进行测试 这是我的脚本.bat文件 sc create myService binpath= C:\Users\Admin\Desktop\test.bat start= auto 这是我的test.bat文件 echo "Welcome to Wizard" 问题陈述 我无法从控制面板服务部分启动服务 我得到以下错误 [SC]StartService失败1053: 服务没有及时响应启动或控制请求。 这就是我使用nssm的原因 现在发生的是,当我在powershe

我已经创建了一个小脚本文件进行测试

这是我的脚本.bat文件

sc create myService binpath= C:\Users\Admin\Desktop\test.bat start= auto 
这是我的test.bat文件

echo "Welcome to Wizard"
问题陈述

我无法从控制面板服务部分启动服务

我得到以下错误

[SC]StartService失败1053: 服务没有及时响应启动或控制请求。

这就是我使用nssm的原因

现在发生的是,当我在powershell上运行以下命令时

\nssm安装myService,此时会出现I对话框。我给它我的脚本文件的路径,然后点击安装服务

成功安装服务后。我进入“控制面板->服务->单击“针对myService启动”,但它被暂停,出现以下对话框

  • 我怎样才能解决这个问题
  • 是否有其他方法可以做到这一点,而无需执行手动步骤,也无需使用第三方工具
  • 我在10号窗口做这一切。我是否需要任何服务器来执行此任务

  • 注意:在我的情况下,我不能使用Always up或window scheduler。

    NSSM行为是由脚本几乎立即终止引起的。请尝试以下脚本:

    echo Hello World
    暂停

    这应该允许服务启动,但您不一定会看到控制台窗口。即使您勾选“允许服务与桌面交互”,它也不会与您的桌面交互

    Windows将“会话零隔离”作为一项安全功能实现,这从本质上防止了服务与最终用户桌面的交互


    就解决方案而言,只需使用VisualStudio就可以编写Windows“服务”应用程序。这超出了我的专业范围,但基于我熟悉的Windows应用程序,您通常会运行一个用户模式的应用程序来提供桌面交互。用户模式应用程序可以与服务应用程序承载的服务进行交互。

    现在可能已经解决了这一问题,但如果它对任何人都有帮助,那么为我节省时间的是再次检查nssm中参数字段中的输入。我有一个额外的“-”造成了这个错误。要编辑我的服务,我通过
    nssm edit

    ,可能是因为您的脚本立即退出。您为“退出时的操作”配置了什么?@HarryJohnston我还没有配置任何东西,我只是尝试创建一个基本文件,因为我是批处理脚本新手,但将来我想运行logstash作为后台服务。您看到关于Windows 10用户需要使用特定版本的评论了吗?:--“Windows 10 Creators Update 2017-04-26:Windows 10 Creators Update的用户应使用PreRelease build 2.2.4-101,以避免服务无法启动的问题。如果由于某种原因无法使用该构建,还可以在注册表中设置AppNoConsole=1,注意需要控制台窗口的应用程序可能会出现意外行为。“@andyb在我的脚本中,我将使用cmd或powershell从用户处获取一些输入,然后我将创建一些目录并提取logstash安装程序,并将其作为服务运行。我不能更改注册表中的内容,也不能使用任何受限制的第三方。你还有别的解决办法吗?或者如果我写了一个完整的服务。我还会面临这个问题吗?这不是一个编程问题,因此不属于SO。这是一个更适合此类问题的地方。我添加了暂停声明,但行为相同:(我也尝试运行exe文件而不是bat,但问题仍然是一样的。对于在VS中开发服务,现在没有选项。我将看到您给我的链接,然后返回给您。非常感谢。通过从Windows资源管理器启动批处理文件(双击它),验证批处理文件的行为是否符合预期。)。您应该会看到一个控制台窗口,显示消息,然后提示您按某个键。按某个键,控制台窗口将关闭。我在其中添加了回显的批处理文件将打开,当我按某个键时,该批处理文件将关闭,但我在其中创建服务的文件未打开。(Script.bat)sc create myService binpath=C:\Users\Admin\Desktop\test.bat start=auto我正在使用window 10。我是否需要服务器来创建此服务?NSSM将在Win 10上工作。我昨天在我的Win 10笔记本电脑上启动了一个批处理文件作为服务Win NSSM。不过,取决于笔记本电脑的配置方式,当它运行时,您可能无法看到控制台窗口.