UiPath Orchestrator

Publish-Orchestrator.ps1 Parameters

Parameters Descriptions

The following table describes all the parameters that can be used with the Publish-Orchestrator.ps1.

Parameter
Description

-action

Mandatory. Indicates the type of scenario you want to start. The following options are available:

  • Deploy - specifies it is a clean installation;
  • Update - specifies you are updating your Orchestrator instance.

-azureAccountApplicationId

Mandatory. The Azure service principal ID. Please note that the used service principal needs to be assigned the Contributor role to the app service at the subscription scope.

-azureAccountPassword

Mandatory. The Azure token password for the service principal ID.

-azureSubscriptionId

Mandatory. The Azure subscription ID for the App Service that hosts Orchestrator.

-azureAccountTenantId

Mandatory. The Azure tenant ID.

-resourceGroupName

Mandatory. The name of the Azure Resource Group that contains the Orchestrator App Service.

-appServiceName

Mandatory. The Orchestrator Azure App Service name.

-hostAdminPassword

Mandatory only for fresh deployments, when -action is set to Deploy. Specify a custom password for the host administrator. Please note that passwords have to be least 8 characters long, and must have at least one lowercase character and at least one digit.

-isHostPassOneTime

Optional. Enables you to enforce a password reset on the first login for the host administrator if set to 1. If this parameter is omitted, the host admin password is not a one-time password.

-defaultTenantAdminPassword

Mandatory only for fresh deployments, when -action is set to Deploy. Specify a custom password for the default tenant administrator. Please note that passwords have to be least 8 characters long, and must have at least one lowercase character and at least one digit.

-isDefaultTenantPassOneTime

Optional. Enables you to enforce a password reset on the first login for the default tenant administrator if set to 1. If this parameter is omitted, the host admin password is not a one-time password.

-package

Mandatory. Indicate the full path of the UiPath.Web.zip archive.

-activitiesPackagePath

Optional. Specify the full path of the UiPathActivities.zip archive, which is included by default, starting with v2018.4.4, in UiPathOrchestrator.zip. This enables you to install the local activity feed in Azure at install-time. Please note that this parameter can be used only with the Legacy repository type. Otherwise, it has to be manually set up.

-robotsElasticSearchUrl

Optional. This should be used only if you want to use Elasticsearch for logging. Provide the Elasticsearch URL as the value, such as "http://elasticserver:9200". If your Orchestrator instance requires authentication, provide the ElasticSearchUsername, ElasticSearchPassword, elasticSearchDiagnosticsUsername, and elasticSearchDiagnosticsPassword parameters.

-robotsElasticSearchTargets

Optional. This parameter enables you to send Robot logs only to the configured Elasticsearch server. Provide the Elasticsearch URL as the value, such as "http://elasticserver:9200". Please note that it can only be used in conjunction with the -robotsElasticSearchUrl parameter. If you do not provide this parameter, Robot logs are sent to both the configured SQL database and Elasticsearch.

-robotsElasticSearchUsername

Optional. This parameter enables you to indicate the username for your Elasticsearch instance if its authentication is enabled.

-robotsElasticSearchPassword

Optional. This parameter enables you to indicate the password for your Elasticsearch instance if its authentication is enabled.

-serverElasticSearchDiagnosticsUsername

Optional. This parameter enables you to indicate the username for your Elasticsearch instance if its authentication is enabled. This parameter together with elasticSearchDiagnosticsPassword "Password" are required for internal Orchestrator logs.

-serverElasticSearchDiagnosticsPassword

Optional. This parameter enables you to indicate the password for your Elasticsearch instance if its authentication is enabled. This parameter together with elasticSearchDiagnosticsUsername "Username" are required for internal Orchestrator logs.

-useQuartzClustered

Optional. A switch that indicates that this is a clustered installation.

-loadBalancerUseRedis

Optional. Use Redis as a database to distribute messages and cache to and from all the machines connected through your load balancer. If -redisConnectionString is specified, it is automatically set to true, otherwise it is set to false.

-redisConnectionString

Optional. It can only be used if loadBalancerUseRedis is set to true. A connection string that enables you to set up your Redis server, which contains the URL of the server, the password, and port used with Redis. It is also possible to enable SSL encrypted connections between the Orchestrator nodes and the Redis service. For more information, please click here.
Examples:

  • with SSL enabled - -redisConnectionString "docs123.redis.cache.windows.net:6380,passwprd=******,ssl=True"
  • without SSL enabled - -redisConnectionString "docs123.redis.cache.windows.net:6380,passwprd=******,ssl=False"

-azureSignalRConnectionString

Optional. Helps you enable Azure SignalR Service, facilitating a direct communication between your Robot fleet and the SignalR Service - Orchestrator no longer intermediates it. Please note that, if enabled, Robots with a version lower than 2019.2 rely only on the Heartbeat protocol to communicate to Orchestrator, meaning that any command given from Orchestrator is picked up by a Robot only every 30 seconds. Example: -azureSignalRConnectionString "Endpoint=https://doctest.signalr.net;AccessKey=M1ug+sBu07hyyi12AgyJ52SEd4OgC2Mm6BvllVHCC9c=;Version=1.0;"

-nugetRepositoryType

Mandatory. This parameter specifies where NuGet packages are saved. It can be populated as follows:

  • Composite - Package metadata is saved to the SQL database for faster search and filtering. Execution media and packages are saved to the location specified through the storageType and storageLocation parameters. This is the default value in both update scenarios and clean installations, even if the parameter is not specified.
  • Legacy - Uses FileSystem for package sync. Packages and activities are saved in the locations specified in the NuGet.Packages.Path and NuGet.Activities.Path parameters, respectively. Execution media is saved to the location specified through the storageType and storageLocation parameters. Platform users must enter this value in update scenarios to maintain access to preexisting packages.

-storageType

Optional. Defines the target where execution media and packages are to be saved. It can be populated with the following targets:

  • FileSystem - such as storageType "FileSystem". This is the default value in both update scenarios and clean installations, even if the parameter is not specified.
  • Azure - such as storageType "Azure".
  • Amazon - such as storageType "Amazon".
  • Minio - such as storageType "Minio".

-storageLocation

Optional. Defines the actual location where execution media and packages are to be saved. Particularities:

  • FileSystem - provide an absolute path in the RootPath=.\Storage format, such as storageLocation "RootPath=C:\FolderName\AnotherFolderName". This is the default value in both update scenarios and clean installations, even if the parameter is not specified.
  • Azure - provide a connection string, such as storageLocation "DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net".
  • Amazon - provide a connection string, such as storageLocation" "EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=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;useHttp=false".
  • Minio - provide a connection string, such as storageLocation" "host=localhost:9001;accessKey=YVKYFJ0ZY246KDKP0634;secretKey=bdBEk2ubhIFsTNPuQ80PjKL+oqZBj67HoSWBFnw1".
    More information on these deployments types is available here.

-standbyslotname

Optional. It can be used only in upgrade scenarios. If specified, the script deploys Orchestrator in the indicated app service slot instead of the Production one. Additionally, a swap slot is performed with the Production slot, with no downtime.
Prerequisites:

  • the standby App Service slot must point to a different SQL database.
  • the standby slot Connection String must be made slot sticky (by selecting the Slot Setting box in Azure Portal).
  • the Production slot web.config file must be copied to the standby slot from the Production slot.

-productionSlotName

Optional. It can be used only if the Orchestrator App Service deployment slot is different from the default Production App Service Slot set by Azure.

-appSettings

Optional. Key-value pairs of application settings that are pushed to the Azure App Service Configuration section after deployment. Keep in mind that this only applies to settings from the App Settings section of the web.config file. You can use this parameter to change specific settings that are not exposed through the Publish-Orchestrator.ps1 script. For the rest, please use their dedicated parameter while deploying the script.

Please note that existing settings are merged with new ones.

Parameters Persisted on Update

The following web.config parameter values are automatically migrated and persisted when performing an update. To change them, provide new values when calling the Publish-Orchestrator.ps1 script.

-NuGet.Packages.ApiKey
-NuGet.Activities.ApiKey
-NuGet.Packages.Path
-NuGet.Activities.Path
-machineKey/@decryption
-machineKey/@decryptionKey
-machineKey/@validationKey
-EncryptionKey
-NuGet.Repository.Type
-Storage.Type
-Storage.Location
-LoadBalancer.Redis.ConnectionString
-LoadBalancer.UseRedis
-Scalability.AzureSignalR.ConnectionString
-nlog/targets/target/@name=robotElasticBuffer/@name=RobotElastic/@uri
-nlog/targets/target/@name=robotElasticBuffer/@name=RobotElastic/@username
-nlog/targets/target/@name=robotElasticBuffer/@name=RobotElastic/@password
-nlog/rules/logger/@name=Robot.*/@writeTo
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@uri
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@username
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@password 
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@index
-nlog/rules/logger/@name=*/@writeTo

Examples

Single Node Installation

The following example enables you to perform a clean install of Orchestrator on one node, use Elasticsearch for logging, and save packages in the Azure blob storage and their metadata in the SQL database. The procedure occurs in an -unattended manner and logs its steps at the -verbose level.

.\Publish-Orchestrator.ps1 `
-action "Deploy" `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-hostAdminPassword "12345qwert" `
-defaultTenantAdminPassword "12345qwert" `
-nugetRepositoryType "Composite" `
-storageType "Azure" `
-storageLocation "DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net" `
-robotsElasticSearchUrl "http://docelasticserver:9200" `
-verbose

Multi-node Installation

The following example enables you to perform a clean install of Orchestrator on multiple nodes and use Elasticsearch for logging and Redis for caching and message distribution. Packages are saved in the Azure blob storage and their metadata in the SQL database. The procedure occurs in an -unattended manner and logs its steps at the -verbose level.

.\Publish-Orchestrator.ps1 `
-action "Deploy" `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-useQuartzClustered `
-redisConnectionString "docs123.redis.cache.windows.net:6380,passwprd=******,ssl=True" `
-azureSignalRConnectionString "Endpoint=https://doctest.signalr.net;AccessKey=*****;Version=1.0;" `
-robotsElasticSearchUrl "http://docelasticserver:9200" `
-hostAdminPassword "12345qwert" `
-defaultTenantAdminPassword "12345qwert" `
-nugetRepositoryType "Composite" `
-storageType "Azure" `
-storageLocation "DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net" `
-verbose

Multi-node Update

The following example enables you to upgrade an existing multi-node Orchestrator to the latest available version, without changing any pre-existing setting. The procedure occurs in an -unattended manner and logs its steps at the -verbose level.

Publish-Orchestrator.ps1 `
-action Update `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-verbose

The following example enables you to upgrade an existing multi-node Orchestrator to the latest available version while changing only the value of the Webhooks.Enabled and Telemetry.Enabled parameters to false. The procedure occurs in an -unattended manner and logs its steps at the -verbose level.

Publish-Orchestrator.ps1 `
-action Update `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-appSettings @{"Webhooks.Enabled"="false"; "Telemetry.Enabled"="false"} `
-verbose

Updated about a month ago


Publish-Orchestrator.ps1 Parameters


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.