Skip to content

UiPath-Services/UiPathOrch

UiPathOrch

PowerShell Platform PowerShell Gallery PowerShell Gallery License: Apache 2.0

PowerShell Drive and Cmdlets for managing UiPath Orchestrator.

Note: UiPathOrch is an open-source PowerShell module for managing UiPath Orchestrator. It is not an official abbreviation of, or part of, the UiPath Orchestrator product.

Overview

UiPathOrch is a PowerShell module that enables you to mount multiple Orchestrator tenants as PSDrives, allowing you to navigate through their folders using familiar commands like cd, dir, mkdir, rmdir within the PowerShell console. Beyond simple folder navigation, it facilitates the manipulation of various entities through a range of cmdlets and wildcards.

This module uses the Orchestrator API to mount modern folders as local drives, making them accessible from the PowerShell console with file system-like operations.

Works against Automation Cloud, Automation Suite, and on-premises Orchestrator deployments — the deployment kind is auto-detected from the drive's Root URL (or pinned explicitly via the Edition config field).

Note: This module functions even in environments where Studio/Assistant is not installed.

Key Features

Bulk Processing

Execute bulk operations across multiple folders and tenants with a single command, eliminating the need for scripting or CSV preparation.

Advanced Scripting

Perform advanced operations like downloading only active packages or detecting long-pending jobs to trigger email notifications.

Tenant Migration

Facilitate tenant migrations by copying various entities between tenants efficiently.

Entity Management

  • Tenant entities: Manage libraries, packages, assets, queues, triggers, webhooks, and more
  • Folder entities: Handle processes, jobs, machines, robots, schedules, and other folder-specific items
  • Platform Management: User, group, license, and authentication management
  • Document Understanding: Project and queue management
  • Test Manager: Test set operations

Installation

Prerequisites

  • PowerShell 7.4.2 or later
  • UiPath Orchestrator API access with appropriate OAuth scopes

Install from PowerShell Gallery

Install-PSResource UiPathOrch
Import-OrchConfig

Run Get-OrchHelp for a getting started guide, or see the Docs folder in the module directory.

Quick Start

Basic Navigation

# Navigate to an Orchestrator drive
cd Orch1:\

# List folders
dir

# Navigate to a shared folder
cd Shared

# List assets in current folder
Get-OrchAsset

Working with Multiple Tenants

# Target multiple folders across tenants
Get-OrchAsset -Path Orch1:\Shared,Orch2:\Shared

# Operate on all folder entities recursively
Get-OrchAsset -Recurse

Listing Available Commands

# List all cmdlets in UiPathOrch
Get-Command -Module UiPathOrch

# Get help for a specific cmdlet
Get-Help Get-OrchAsset -Full

# Open the cmdlet's online reference page in a browser
Get-Help Get-OrchAsset -Online

Documentation

  • Manual: Run Get-OrchHelp or browse the Docs folder in the module directory
  • Marketplace: UiPathOrch on UiPath Marketplace
  • Cmdlet Help: Use Get-Help <cmdlet-name> to view OAuth scopes and usage details

AI Agent Integration

UiPathOrch works with AI agents through PowerShell.MCP, which exposes a PowerShell console as an MCP server. Agents can navigate Orchestrator folders, manage entities, and use tab completion programmatically via TabExpansion2. The Docs folder in the module directory includes documentation written for both human users and AI agents.

Headless / CI Use

In non-interactive environments (GitHub Actions, other CI runners, containers, scheduled jobs), the default first-import behavior — creating a template config file and opening it in Notepad — is undesirable. Set the UIPATHORCH_SUPPRESS_CONFIG_CREATION environment variable to 1 to skip both, then mount drives directly with New-OrchPSDrive so no config file is needed.

# GitHub Actions example
- shell: pwsh
  env:
    UIPATHORCH_SUPPRESS_CONFIG_CREATION: 1
    ORCH_URL:    ${{ secrets.ORCH_URL }}        # https://cloud.uipath.com/<org>/<tenant>
    ORCH_APPID:  ${{ secrets.ORCH_APPID }}
    ORCH_SECRET: ${{ secrets.ORCH_APPSECRET }}
  run: |
    Install-PSResource UiPathOrch -TrustRepository
    Import-Module UiPathOrch
    New-OrchPSDrive -Name Orch -Root $env:ORCH_URL `
      -AppId $env:ORCH_APPID -AppSecret $env:ORCH_SECRET `
      -OAuthScope 'OR.Folders OR.Assets OR.Settings'
    Get-OrchAsset -Path Orch:\Shared

Notes:

  • A confidential application (-AppId + -AppSecret, OAuth client_credentials grant) is the recommended auth for CI. PKCE requires an interactive browser and cannot be used headlessly. Personal Access Tokens (-AccessToken) work but tie the pipeline to an individual user and inherit that user's full permission set, so prefer a confidential app per pipeline with the minimum OAuth scopes required.

  • Pass secrets via env: rather than inline command arguments so GitHub Actions log masking covers them and they don't appear in command echoes.

  • For on-premises Orchestrator or self-hosted Automation Suite that isn't reachable from GitHub-hosted runners, use a self-hosted runner inside the network where the deployment is accessible.

  • For ad-hoc API calls in CI (e.g., calling an endpoint with no dedicated cmdlet), use Invoke-OrchApi rather than extracting the bearer token. It reuses the drive's authenticated session, so the access token never leaves the module — no risk of leaking a live token into pipeline logs:

    Invoke-OrchApi -Path Orch: -Uri '/odata/Folders?$select=Id,DisplayName'
  • Avoid piping Get-OrchPSDrive output to logs in CI. Its output exposes a live AccessToken property as a documented diagnostic feature (see Docs/05-Troubleshooting.md); commands like Get-OrchPSDrive | Format-List * or ConvertTo-Json would emit it. GitHub Actions log masking covers only the registered AppSecret, not derived tokens. Invoke-OrchApi removes the need for this pattern in nearly all cases.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Support

Important: This is a community-driven tool and is not officially supported by UiPath Technical Support. For issues related to this module, please use the channels below instead of contacting UiPath Technical Support.

For support and questions, you can reach out through any of these channels:

Publisher

Internal Labs - UiPath


Note: Please test in non-production environments before use in production.

About

PowerShell PSDrive and cmdlets for managing UiPath Orchestrator

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors