繁体   English   中英

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

[英]How to create windows service to run a powershell script?

我有无限循环 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

这里有任何帮助!!!

由于文章的长度,我不想将它们粘贴到答案中。

查看这篇文章,这是我发现的有关 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/

我一直在四处寻找将 PS1 变成服务的体面方法。 我发现的最简单的方法是使用 Winsw: https : //github.com/kohsuke/winsw

奇迹般有效。

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

  1. 首先进入PowerShell脚本所在的路径。
  2. 然后在命令下面运行:powershell.exe -ExecutionPolicy UnRestricted -File .\\filename.ps1

我在 Non-sucking Service Manager (NSSM) 上也取得了成功。 https://nssm.cc/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM