PowerShell Module Basics
  • 06 Dec 2023
  • 2 Minutes to read
  • Dark
    Light

PowerShell Module Basics

  • Dark
    Light

Article Summary

Module Details

Installation LocationCore module
Step Location Integration > Powershell
Settings Location N/A
PrerequisitesPowerShell Module Installed

Overview

The PowerShell Module allows the execution of Powershell scripts from Flows.

PowerShell supports numerous plugins for integrating with system software and enterprise applications. Powershell can only run via a remote connection.

Limitations of PowerShell in Containers
In containerized environments, the 'Run Remotely' option on PowerShell steps, which facilitates remote script execution, is not supported.

Run Powershell Remotely

All PowerShell steps run remotely. This exposes new inputs to specify which machine to remotely run the script and uses "WS-Management-based Windows PowerShell remoting". Users must add the IP of the VM to the TrustedHosts list during configuration by entering the following command:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value (IP Address)


To verify that the command works, use the following Powershell command:

Get-Item WSMan:\localhost\Client\TrustedHosts

This will allow Powershell to be run remotely as described in this article: Computer Trusted Hosts.

Troubleshooting - Enabling Powershell Remoting

While not required for the Powershell module or for enabling remote connection, Administrators experiencing difficulties with the above option may instead enable Powershell Remoting.

This method enables remote Powershell connections by calling the server itself remotely. 

By default, WS-Man and Powershell remoting use ports 5985 and 5986 for connections over HTTP and HTTPS, respectively.

Open Powershell as an Administrator to enable remoting and run the following command.

Enable-PSRemoting -Force 

The following response should be returned:



Example

  1. In Decisions Studio, navigate to System > Integrations > Powershell Script Projects. Right-click Powershell Script Projects and click Add Script Project.
  2. On the Add Script Project window, enter a name for the Script Project that will be used and click SAVE. This name will be used as a category in the Flow Designer to group Powershell steps.
  3. Right-click on the new Powershell Script Project and click Add Script.
  4. On the Add Script window, enter a name for the script under ScriptName and the code under Script. If applicable, add input and output values.
    Input values must be strings, match the Powershell token name minus the dollar $ symbol, and allow array input via a comma-separated list to mimic Powershell Console behavior.
    Output values cannot return structured data; however, a script returning an object can specify its data members to return as string arrays. For further information, refer to the "Process Class" article in Microsoft's documentation.

  5. Click SAVE to return to Powershell Script Project. 
  6. In a Flow Designer, navigate to Integration > Powershell > [Script Project Name]. Add the script step to the workspace. The values entered for the Input and Output categories should appear on the step.
Refer to the next article to learn more about the PowerShell Script Step Outputs.



Was this article helpful?