如何创建Windows服务来运行PowerShell脚本?

时间:2014-10-22 11:04:04

标签: windows powershell windows-services powershell-v2.0 windows-server-2008-r2

我有无限循环PowerShell(测试目的)脚本,我想在Windows Server 2008 R2(标准版)中作为服务运行。

我正在使用以下命令创建Windows服务

sc.exe create "My PS1Service" binPath= "powershell.exe -NoLogo -Path D:\TEST\test.ps1"

结果是[SC] CreateService SUCCESS

但是当我尝试运行服务 My PS1Service 时,会返回以下错误

Windows Could not srart the My PS1Service service on Local
Computer
Error 1053: The service did not respond to the start or control
request in a family

这里有任何帮助!!!

4 个答案:

答案 0 :(得分:0)

由于篇幅很长,我不想在答案中粘贴它们。

查看此帖子,这是我发现的有关PowerShell服务的最全面的信息来源:https://msdn.microsoft.com/en-us/magazine/mt703436.aspx

链接到示例PowerShell服务:  http://jf.larvoire.free.fr/progs/PSService.ps1

我最终没有成功地修改它,因为它需要更长的时间来阅读并理解它,而不是使用不同的方法来处理我的用例,但我肯定会回到那个如果我将来需要在powershell中创建一个服务。

此外:https://www.sapien.com/blog/2017/07/12/write-a-windows-service-in-powershell/

答案 1 :(得分:0)

我一直在各地寻找一种使PS1成为服务的良好方法。 我发现的最简单的方法是使用Winsw: https://github.com/kohsuke/winsw

像魅力一样工作。

答案 2 :(得分:-1)

我在非吸吮服务管理器(NSSM)上也取得了成功。 https://nssm.cc/

答案 3 :(得分:-1)

您可以通过以下步骤创建:

  1. 首先转到PowerShell脚本所在的路径。
  2. 然后在命令下面运行: powershell.exe -ExecutionPolicy不受限制-File。\ filename.ps1
相关问题