Powershell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and the associated scripting language.

Powershell can be run as a Windows service using FireDaemon Pro. This allows you to start and run the script automatically when Windows boots and before login. FireDaemon Pro also allows you to start multiple instances of the script, monitoring them and automatically restarting those instances in the event they crash. FireDaemon Fusion can also be used to manage your Powershell service, plus other Windows services via your web browser.

Powershell Setup Under FireDaemon Pro

Please follow the steps below to set up a Powershell script as a Windows service with FireDaemon Pro

Step 1: Download or create your Powershell script

  1. Powershell is included with Windows. So first download or create your script. For the purposes of this guide, we will refer to "C:\Powershell Scripts" as the path the script resides is in.

Step 2: Set Up Powershell as a FireDaemon Pro Service

Download and install FireDaemon Pro. Double click the FireDaemon Pro icon on your desktop, then click on the New (i.e. +) button in the toolbar (or type Ctrl + N) to create a new service. Enter the information into the fields as you see below. Adjust the path names to suit your installation. Note the required parameters.

FireDaemon Pro Powershell Dedicated Server Service Program Tab

Next, click on the FireDaemon Pro Settings tab:

FireDaemon Pro Powershell service settings

Enter appropriate values in the fields on the Settings tab as follows:

  • (Optional) Logon Account: Enter the Windows account under which the script was configured, e.g. the current administrator account.
  • Password / Confirm Password:  Enter the logon account's password twice.
  • (Optional) Interact with Desktop: If this setting is enabled (default), the application's output messages can be seen in the console window on Windows Session 0. To switch to Session 0, it may be necessary to install FireDaemon Zero and ZeroInput. Alternatively, this setting may be disabled, in which case the script's messages will be hidden.
  • (Optional) Priority: To allocate more CPU time to the script, select a higher scheduling priority in this field.
  • (Optional) CPU Bindings: To run the script on a specific CPU, specify the appropriate CPU in this field.

Next, click on the Lifecycle tab. Set Shutdown By to Forceful Termination and check "Console Program".

FireDaemon Pro Powershell lifecycle settings

If you'd like to schedule your script to run at specific times, click the Scheduling tab and enter the times you would like the script to run.

FireDaemon Pro Powershell scheduling settings

Lastly, click the Save and Close (ie. the tick) button on the toolbar. If the service's Startup Type is set to Automatic or Automatic (Delayed-Start), it will start immediately.