UiPathOrch.psd1

#
# Module manifest for module 'UiPathOrch'
#
# Generated by: Yoshifumi Tsuda
#
# Generated on: 2023/08/28
#

@{

# Script module or binary module file associated with this manifest.
RootModule = 'UiPathOrch.dll'

# Version number of this module.
ModuleVersion = '1.16.0'

# Supported PSEditions
CompatiblePSEditions = @('Core')

# ID used to uniquely identify this module
GUID = '7098583d-d092-4fe9-bf36-a652e7a51efb'

# Author of this module
Author = 'Yoshifumi Tsuda'

# Company or vendor of this module
CompanyName = 'UiPath'

# Copyright statement for this module
Copyright = 'Copyright 2023-2026 UiPath'

# Description of the functionality provided by this module
Description = 'Open-source PSDrives and cmdlets for managing UiPath Orchestrator. Not an official abbreviation of, or part of, the Orchestrator product. 💡 First time? Run: Get-OrchHelp'

# Minimum version of the PowerShell engine required by this module
PowerShellVersion = '7.4.2'

# Name of the PowerShell host required by this module
# PowerShellHostName = ''

# Minimum version of the PowerShell host required by this module
# PowerShellHostVersion = ''

# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''

# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# ClrVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''

# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()

# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
FormatsToProcess = @('UiPathOrch.Format.ps1xml')

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
NestedModules = @('UiPathOrch.psm1')

# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @(
'Enable-OrchUserAttended',
'Disable-OrchUserAttended',
'Enable-OrchPersonalWorkspace',
'Disable-OrchPersonalWorkspace',
'Find-OrchFolderNoUserAssigned',
'Get-OrchJobVideo',
'Format-OrchQueueItem',
'Format-OrchTestDataQueueItem'
)

# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = @(
'Import-OrchConfig',
'New-OrchPSDrive',
'Invoke-OrchApi',
'Switch-OrchCurrentUser',
'Get-OrchPSDrive',
'Get-OrchProductVersion',
'Resolve-OrchAuthError',

'Get-OrchLibrary',
'Get-OrchLibraryVersion',
'Remove-OrchLibrary',
'Import-OrchLibrary',
'Export-OrchLibrary',
'Copy-OrchLibrary',

'Get-OrchPackage',
'Copy-OrchPackage',
'Get-OrchPackageVersion',
'Remove-OrchPackage',
'Import-OrchPackage',
'Export-OrchPackage',

'Get-OrchJob',
'Start-OrchJob',
'Stop-OrchJob',
'Restart-OrchJob',
'Resume-OrchJob',
'Open-OrchJob',

'Get-OrchLog',
'Get-OrchAuditLog',

'Get-OrchJobMedia',
'Export-OrchJobMedia',
'Remove-OrchJobMedia',

'Get-OrchProcess',
'Get-OrchProcessDetail',
'New-OrchProcess',
'Update-OrchProcess',
'Copy-OrchProcess',
'Compare-OrchProcess',
'Remove-OrchProcess',
'Edit-OrchProcess',
'Update-OrchProcessVersion',
'Reset-OrchProcessVersion',
'Get-OrchProcessRequirement',

'Get-OrchRobot',

'Get-OrchUser',
'Compare-OrchUser',
'Get-OrchUserDetail',
'Get-OrchUserPrivilege',
'Add-OrchUser',
'Update-OrchUser',
'Copy-OrchUser',
'Remove-OrchUser',
'Remove-OrchRoleFromUser',
'Get-OrchCurrentUser',
'Update-OrchCurrentUserURPassword',

'Get-OrchLicenseNamedUser',
'Get-OrchLicenseRuntime',
'Enable-OrchLicenseRuntime',
'Disable-OrchLicenseRuntime',

'Get-PmAuditLog',
'Get-PmAuthenticationSetting',

'Get-PmLicense',
'Get-PmLicenseAllocation',
'Get-PmLicenseInventory',
'Get-PmLicenseContract',

'Get-PmGroupLicense',
'Add-PmGroupLicense',
'Remove-PmGroupLicense',
'Remove-PmGroupLicenseAllocation',
'Remove-PmLicensedGroup',

'Get-PmUserLicense',
'Add-PmUserLicense',
'Remove-PmUserLicense',
'Remove-PmLicensedUser',

'Get-OrchClassicRobot',
'Get-OrchClassicEnvironment',

'Get-OrchUserSession',
'Get-OrchMachineSession',
'Get-OrchUnattendedSession',
'Clear-OrchInactiveSession',

'Get-OrchTask',
'Get-OrchTaskAcrossFolder',
'Set-OrchTask',
'Remove-OrchTask',

'Enable-OrchMaintenanceMode',
'Disable-OrchMaintenanceMode',

'Get-OrchJobStats',
'Get-OrchLicenseStats',

'Get-OrchRole',
'Set-OrchRole',
'Remove-OrchRole',
'Copy-OrchRole',
'Compare-OrchRole',

'Get-OrchCalendar',
'Remove-OrchCalendar',
'Copy-OrchCalendar',
'Compare-OrchCalendar',

'Get-OrchCalendarDate',
'Add-OrchCalendarDate',
'Remove-OrchCalendarDate',

'Get-OrchPersonalWorkspace',
'Remove-OrchPersonalWorkspace',
'Get-OrchFolderUsage',

'Get-OrchFolderUser',
'Compare-OrchFolderUser',
'Add-OrchFolderUser',
'Copy-OrchFolderUser',
'Move-OrchFolderUser',
'Remove-OrchFolderUser',

'Add-OrchRoleToFolderUser',
'Remove-OrchRoleFromFolderUser',

'Get-OrchMachine',
'Update-OrchMachine',
'New-OrchMachine',
'Remove-OrchMachine',
'Copy-OrchMachine',
'Compare-OrchMachine',
'Get-OrchMachineClientSecretId',
'Add-OrchMachineClientSecret',
'Remove-OrchMachineClientSecret',

'Get-OrchFolderMachine',
'Compare-OrchFolderMachine',
'Add-OrchFolderMachine',
'Copy-OrchFolderMachine',
'Remove-OrchFolderMachine',
'Enable-OrchFolderMachineInherit',
'Disable-OrchFolderMachineInherit',

'Get-OrchFolderMachineAccountMapping',
'Enable-OrchFolderMachineAccountMapping',
'Disable-OrchFolderMachineAccountMapping',

'Get-OrchAsset',
'Set-OrchAsset',
'Copy-OrchAsset',
'Compare-OrchAsset',
'Move-OrchAsset',
'Remove-OrchAsset',

'Set-OrchCredentialAsset',
'Get-OrchCredentialAsset',

'Set-OrchSecretAsset',
'Get-OrchSecretAsset',

'Remove-OrchAssetUserValue',

'Get-OrchCredentialStore',
'Copy-OrchCredentialStore',
'Compare-OrchCredentialStore',
'Update-OrchCredentialStore',
'Remove-OrchCredentialStore',

'Get-OrchAssetLink',
'Add-OrchAssetLink',
'Remove-OrchAssetLink',

'Get-OrchBucketLink',
'Add-OrchBucketLink',
'Remove-OrchBucketLink',

'Get-OrchQueueLink',
'Add-OrchQueueLink',
'Remove-OrchQueueLink',

'Get-OrchTrigger',
'Get-OrchTriggerDetail',
'New-OrchTrigger',
'Update-OrchTrigger',
'Remove-OrchTrigger',
'Copy-OrchTrigger',
'Compare-OrchTrigger',
'Enable-OrchTrigger',
'Disable-OrchTrigger',
'Test-OrchTrigger',

'Get-OrchApiTrigger',
'New-OrchApiTrigger',
'Update-OrchApiTrigger',
'Remove-OrchApiTrigger',
'Copy-OrchApiTrigger',
'Compare-OrchApiTrigger',
'Enable-OrchApiTrigger',
'Disable-OrchApiTrigger',

'Get-OrchEventTrigger',
'Compare-OrchEventTrigger',
'Remove-OrchEventTrigger',
'Enable-OrchEventTrigger',
'Disable-OrchEventTrigger',

'Get-OrchQueue',
'New-OrchQueue',
'Update-OrchQueue',
'Copy-OrchQueue',
'Compare-OrchQueue',
'Move-OrchQueue',
'Remove-OrchQueue',

'Get-OrchQueueItem',
'Import-OrchQueueItem',
'Redo-OrchQueueItem',
'Copy-OrchQueueItem',
'Remove-OrchQueueItem',

'Get-OrchTestSet',
'Compare-OrchTestSet',
'Get-OrchTestSetDetail',
'New-OrchTestSet',
'Copy-OrchTestSet',
'Remove-OrchTestSet',
'Start-OrchTestSet',

'Get-OrchTestCase',
'Get-OrchTestCaseExecution',
'Get-OrchTestCaseAssertion',
'Remove-OrchTestCase',

'Get-OrchTestSetExecution',
'Stop-OrchTestSetExecution',

'Get-OrchTestSetSchedule',
'Compare-OrchTestSetSchedule',
'New-OrchTestSetSchedule',
'Update-OrchTestSetSchedule',
'Copy-OrchTestSetSchedule',
'Remove-OrchTestSetSchedule',
'Enable-OrchTestSetSchedule',
'Disable-OrchTestSetSchedule',

'Get-OrchTestDataQueue',
'Compare-OrchTestDataQueue',
'New-OrchTestDataQueue',
'Copy-OrchTestDataQueue',
'Remove-OrchTestDataQueue',

'Get-OrchTestDataQueueItem',
'Import-OrchTestDataQueueItem',
'Reset-OrchTestDataQueueItem',

'Get-OrchAlert',

'Get-OrchBucket',
'New-OrchBucket',
'Copy-OrchBucket',
'Compare-OrchBucket',
'Move-OrchBucket',
'Update-OrchBucket',
'Remove-OrchBucket',

'Get-OrchBucketItem',
'Copy-OrchBucketItem',
'Export-OrchBucketItem',
'Import-OrchBucketItem',
'Remove-OrchBucketItem',

'Get-OrchWebhook',
'New-OrchWebhook',
'Copy-OrchWebhook',
'Compare-OrchWebhook',
'Update-OrchWebhook',
'Remove-OrchWebhook',
'Enable-OrchWebhook',
'Disable-OrchWebhook',
'Get-OrchWebhookEventType',
'Test-OrchWebhook',

'Get-OrchSetting',
'Set-OrchSetting',
'Get-OrchExecutionSetting',
'Get-OrchWebSetting',
'Get-OrchAuthenticationSetting',
'Get-OrchActivitySetting',
'Get-OrchConnectionString',
'Get-OrchLicense',
'Get-OrchUpdateSetting',

'Get-OrchActionCatalog',
'Compare-OrchActionCatalog',
'New-OrchActionCatalog',
'Copy-OrchActionCatalog',
'Remove-OrchActionCatalog',

'Search-OrchDirectory',
'Search-PmDirectory',
'Resolve-PmDirectoryNameBulk',

'Get-PmUser',
'Update-PmUser',
'Remove-PmUser',
'New-PmUser',
'Copy-PmUser',

'Get-PmRobotAccount',
'New-PmRobotAccount',
'Set-PmRobotAccount',
'Copy-PmRobotAccount',
'Remove-PmRobotAccount',

'Get-PmUserPreference',
'Set-PmUserPreference',
'Copy-PmUserPreference',
'Get-PmNotificationSubscription',
'Set-PmNotificationSubscription',
'Copy-PmNotificationSubscription',

'Get-PmGroup',
'New-PmGroup',
'Copy-PmGroup',
'Remove-PmGroup',

'Get-PmGroupMember',
'Add-PmGroupMember',
'Move-PmGroupMember',
'Remove-PmGroupMember',

'Get-PmExternalApiResource',
'Get-PmExternalApplication',
'Copy-PmExternalApplication',
'Remove-PmExternalApplication',

'Get-PmAccessAllowedMember',

'Get-DuRole',
'Get-DuDocumentType',
'Get-DuClassifier',
'Get-DuExtractor',

'Get-DuUser',
'Add-DuUser',
'Remove-DuRoleFromDuUser',

'Get-TmConfiguration',
'Get-TmProjectSetting',
'Get-TmProjectPermission',
'Get-TmServerInfo',

'Get-TmRequirement',
'Remove-TmRequirement',

'Get-TmTestCase',
'Remove-TmTestCase',

'Get-TmTestSet',
'Remove-TmTestSet',

'Get-TmTestExecution',

'Get-OrchHelp',
'Clear-OrchCache',
'Get-OrchConfigPath',
'Edit-OrchConfig',
'Set-OrchLocation',
'Get-OrchLogLocation',
'Open-OrchLogLocation',

'New-OrchUserMappingCsv',
'Test-OrchUserMappingCsv'
)

# Variables to export from this module
VariablesToExport = @()

# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = @('!Show-OrchGuide')

# DSC resources to export from this module
# DscResourcesToExport = @()

# List of all modules packaged with this module
# ModuleList = @()

# List of all files packaged with this module
# FileList = @()

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        Tags = @('UiPath', 'Orchestrator', 'RPA', 'Automation', 'PSDrive', 'PSProvider', 'Cloud', 'OnPremises')

        # A URL to the license for this module.
        LicenseUri = 'https://github.com/UiPath-Services/UiPathOrch/blob/master/LICENSE'

        # A URL to the main website for this project.
        ProjectUri = 'https://github.com/UiPath-Services/UiPathOrch'

        # A URL to an icon representing this module.
        # IconUri = ''

        # ReleaseNotes of this module.
        # Single-quoted here-string (@'...'@) so apostrophes (e.g. "task's") inside the
        # body don't have to be doubled. The closing '@ MUST be at column 0 (no leading
        # whitespace) — that's the only termination rule.
        ReleaseNotes = @'
1.16.0
 
Added: the whole Compare-Orch* family takes -ExportCsv (and -CsvEncoding), like the Get-Orch*
family already did. A comparison is the evidence a migration produced, and the documented way to
keep it was to pipe the output into Export-Csv -- exactly the pipeline that lost the Differences
column (below). The six columns are the ones the console shows (SideIndicator, Name,
DifferenceName, Path, DifferencePath, Differences), in the order the piped export already
produced them; ReferenceObject and DifferenceObject are left out. Naming a directory writes
Compared<Nouns>.csv in it.
 
Fixed: Compare-Orch* piped to Export-Csv wrote the type of the differences instead of the
differences. The Differences column arrived as the List type name, so the exported file recorded
which entities differed and nothing about how -- the one thing the console had just shown.
Export-Csv converts each property with ToString(), and a bare list answers with its type name;
the column now carries the same "Prop: 'ref' => 'diff'" text the console does. The console view
and ConvertTo-Json are unchanged. ReferenceObject and DifferenceObject are whole entities kept
for downstream piping and still export as their type name; add
Select-Object -ExcludeProperty ReferenceObject, DifferenceObject before the export to drop them.
 
Fixed: Remove-OrchAssetUserValue -WhatIf showed only the first matching asset and stopped. The
confirmation loop ran per user value and answered a declined one with `return`, from inside the
folder and asset loops, so it left the whole cmdlet -- and ShouldProcess is false for every call
under -WhatIf. Under -Confirm, declining one value abandoned every asset still to come. The prompt
is now per asset and continues to the next one, which is also the granularity the operation has:
the removal is a single PutAsset rewriting that asset's whole UserValues list, so declining one
value removed it anyway along with the rest. The target lists every value being removed, and no
longer prints a bare separator for a value with no machine ("[me@example.com\]" is now
"[me@example.com]").
 
Fixed: an Orchestrator without API triggers no longer fails Copy-Item and Get-OrchApiTrigger with
"Invalid request!". On Automation Suite 24.10.11 /odata/HttpTriggers answers 404 in every folder
while its OData neighbours answer 200, and the web UI there offers only Time and Queue triggers
where Automation Cloud also has Event and API. The tenant simply has no API triggers, and a
-Recurse run was reporting one error per folder for a feature that does not exist, which under
$ErrorActionPreference = 'Stop' aborts the caller. Both cmdlets now take that 404 as the answer,
say so once per drive and skip, the same shape 1.14.0 gave the discontinued Test Automation
module; Clear-OrchCache re-checks. A tenant that does have API triggers is untouched.
 
Fixed: Compare-OrchTrigger no longer reports a queue trigger's cron as a difference. A queue
trigger fires on queue items and the web UI offers it no cron at all; ProcessScheduleDto carries
StartProcessCron for it anyway, and the value belongs to the server. Measured on Automation Cloud
26.3, a queue trigger created with "13 7/29 * 1/1 * ? *" reads back "39 3/30 * * * ? *" and the
next one "40 3/30 * * * ? *"; posting the DTO directly is rewritten the same way, so it is not the
cmdlet. A time trigger's cron survives untouched. It is version-dependent: the same raw POST
against Automation Suite 24.10.11 kept the posted value. So the two sides of a migration can hold
values neither user chose and neither can control -- the reported case, "0 0/30 * 1/1 * ? *" at an
MSI source against "33 20/30 * * * ? *" at an Automation Suite destination. Copy-Item cannot fix
it: it already sends the cron and the destination overrides it. The field is now read as absent on both sides for
a queue trigger, leaving QueueDefinitionName to carry the real difference when only one side is
one. A TIME trigger's cron is compared exactly as before. Skipping it silently would be its own
bug -- an "==" row would assert an equality nothing checked -- so when the two crons actually
differ the cmdlet says so: one notice per run, naming up to five triggers BY PATH and counting the
rest, because with -Recurse a migration repeats one trigger name in every mirrored folder. When
they agree nothing is withheld and nothing is said, unlike the secret-value notice in
Compare-OrchAsset, which must fire on presence alone because a secret's drift is unknowable.
 
Fixed: Compare-OrchTrigger and Compare-OrchProcess no longer report a correctly copied priority
as lost. A destination trigger the web UI correctly showed as Low came back as
"JobPriority: 'Low' => (null)". JobPriority and SpecificPriorityValue are two views of one setting
and the server will not take both -- measured on Automation Suite 24.10, posting the name alone
reads back the name and a filled-in value, posting the value alone reads back a null name, and
posting both is refused with 400 [1009] "Cannot set a specific priority value when a standard job
priority setting is selected". So a copy has to drop one of the pair, and it drops the name,
keeping the higher-resolution value. The destination's null is therefore correct, and JobPriority
is now compared as the name its value resolves to (61 and above High, 30 and below Low, else
Normal -- the cut points Orchestrator itself uses). SpecificPriorityValue is carried across
unchanged and stays compared on its own, so a genuine priority change is still reported.
 
1.15.2
 
Fixed: a trigger copied out of a CLASSIC folder keeps its "Execute the process X times" count
too. 1.15.1 stopped the count being reset for modern-to-modern copies but kept resetting it
whenever the source folder was classic, on the untested assumption that a classic folder used
StartStrategy for something else. Measured on standalone 21.10.4, it does not: the Execution
Target radio writes the same field, Dynamic Allocation with X=1 reading back 1 and X=3 reading 3,
exactly as a modern folder does. The only classic-only value is -1, written by the "All Robots"
option, which modern folders have no equivalent for. So the assumption had been dropping the
count on precisely the classic-to-modern migrations it was meant to serve -- an MSI source is
where classic folders still live. The rule is now the measured one and no longer asks what kind
of folder the trigger came from: a positive count is carried across unchanged, and only a value
below 1 falls back to a single run, with a warning naming the trigger. The -StartStrategy help on
New-OrchTrigger and Update-OrchTrigger, which repeated the wrong claim, is corrected with it.
 
1.15.1
 
Fixed: a queue shared between folders could stay invisible in the destination for the rest of a
Copy-Item session, taking its queue trigger with it. Copying a folder tree, the first folder's
pass looks for its shared queue's counterpart in every destination folder the queue is linked
to, and caches what it finds there -- usually nothing, since those folders have not been copied
yet. Nothing invalidated that empty list afterwards, neither creating the queues on that
folder's own pass nor sharing the queue into it, so the folder stayed empty in the module's view
until the next Clear-OrchCache. Get-OrchQueue under-reported it, and the trigger stage of the
same run decided the queue did not exist and skipped the trigger with a warning rather than an
error, so the run looked successful while the migration was incomplete. Both paths now
invalidate the destination folder's entity list and the entity's link set. Assets and buckets
had the same defect and are fixed with it.
 
Fixed: a copied trigger no longer comes out running once when the source said "Execute the
process X times". Copy-Item and Copy-OrchTrigger overwrote StartStrategy with 1 for every
destination folder that is not classic. It is the job count the modern folder's web UI labels
"Execute the process X times": measured on Automation Suite 24.10.11, a trigger set to 3 reads
back 3, and writing 5 with Update-OrchTrigger makes the UI say "5 times". The source value is
now preserved; the reset survives only for a classic source folder, where the same field selects
the execution target rather than a count. New-OrchTrigger and Update-OrchTrigger now document
what the parameter actually sets.
 
Full release notes: https://github.com/UiPath-Services/UiPathOrch/blob/master/CHANGELOG.md
'@


        # Prerelease string of this module
        # Prerelease = ''

        # Flag to indicate whether the module requires explicit user acceptance for install/update/save
        # RequireLicenseAcceptance = $false

        # External dependent modules of this module
        # ExternalModuleDependencies = @()

    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
# HelpInfoURI = ''

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''

}