Information about execution environments.
Environments allow you to define an executable, arguments, modules and variables to use when running scripts, hosting APIs and dashboards.
Environments are stored within the
To configure environments, you can use the Settings \ Environments page.
Environments support setting the name, path, arguments, modules and variables.
The name of the environment. This name will be shown through out the rest of the platform when running scripts, configuring the API host environment and hosting dashboards.
Environments support defining a path to an executable and arguments for that executable. These should be either PowerShell.exe or Pwsh.exe.
You can also define modules and variables.
The modules list allows you to define zero or more modules to load in the PowerShell runspaces for the environment. These modules will be part of the initial session state so they will not need to be loaded manually. Items added to this list can either be module names or full paths to module files.
You can also use wild cards (
*) to bring in multiple variables that match a pattern.
Environments can be used across the platform.
To select the environment to use, modify the
settings.ps1file and include the
Set-PSUSetting. It needs to be the name of the environment.
Each script, job and schedule can use an environment. You can define environments for scripts by modifying the
scripts.ps1and setting the
New-PSUScript. To set the environment of a schedule, set the
schedules.ps1. When invoking a script, you can also choose an environment to use.
To use a particular environment for a dashboard, set the
By default, authentication and authorization happen within the
Universal.Server.exeprocess. To run these out of process, you can select an environment by setting the
The integrated environment uses the PowerShell Universal server process directly rather than starting external PowerShell processes to service requests.
The integrated environment is easier to configure and use than having multiple disparate environments. You will also see a performance improvement because there is no need to serialize and communicate via interprocess communication.
The downside is that you cannot elevate to alternate credentials or use alternate PowerShell versions. You will be using the current version of the PowerShell Universal server's PowerShell SDK.
The integrated environment is always available and you do not need to configured it directly. If you do want to import modules or set up persistent runspaces, you can set settings for the integrated environment in
New-PSUEnvironment -Name 'Integrated' -Path 'none' -Modules @('ActiveDirectory')
To set the integrated environment, you can use the
Set-PSUSetting -ApiEnvironment 'Integrated'
Automation does not support the integrated environment.
Dashboards do not support the integrated environment.