How to create windows service to run a powershell script?

HamTheAstroChimp picture HamTheAstroChimp · Oct 22, 2014 · Viewed 34.5k times · Source

I have infinite loop PowerShell (Testing purpose) script, which I want to run as a Service in Windows Server 2008 R2 (Standard).

I'm using the following command to create the Windows service,

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

And the result is [SC] CreateService SUCCESS

But when I try to run the service My PS1Service , it return the following error

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

Any help here !!!

Answer

Gostega picture Gostega · Jan 3, 2018

Due to the length of the articles I don't want to paste them in the answer.

Check out this post which is the most comprehensive source of info I've found regarding powershell services: https://msdn.microsoft.com/en-us/magazine/mt703436.aspx

which links to an example powershell service: http://jf.larvoire.free.fr/progs/PSService.ps1

I didn't end up successfully modifying this as it was going to take me longer to read through it and understand it than it would to use a different method for my use case, but I'd certainly be going back to that if I needed to create a service in powershell in the future.

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