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.17.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.17.0 With the August 3, 2026 Automation Cloud release, UiPath made OpenAPI 3.0 the Orchestrator API description: /orchestrator_/openapi/public.json is now the default, and the Swagger 2.0 document (/swagger/v20.0/swagger.json) is deprecated from that release and removed in September 2026 (Automation Suite: 2.2610). The OpenAPI document still describes Web API 20.0, yet it differs from the October 2025 snapshot of the v20 swagger, and this release follows it where the change is visible to the module. Every change leaves a drive on Web API 11-19 doing exactly what it did: new fields are stripped before a write to such a server, new parameters are refused there with a message naming the version, and the notices stay silent. Added: Set-OrchAsset -ValueType Json creates and updates the Json asset type the v20 document introduced. -Value is the JSON text, checked for well-formedness before anything is sent; the server echoes it in Value, so Get-OrchAsset, its CSV export and the CSV round-trip need nothing new. A drive below v20 refuses the type with a message naming the drive and its version. Added: Stop-OrchJob -BatchExecutionKey stops every job of one Start-OrchJob batch in a single request, and Get-OrchTaskAcrossFolder -JobKey narrows the cross-folder task list to the tasks one job raised (the value is the job's Key, as Get-OrchLog -JobKey already takes it, with the same tab completion). Both need v20. Added: the entities carry the fields the v20 document added (Machine.FunctionSlots and MachineSettings, Release.RuntimeProfile, Job.FolderKey / TargetRuntime / CreatorUser, the trigger's BindingKey, Asset.ValueJsonSchema and a few read-only ones); writes below v20 strip them. Changed: Invoke-OrchApi -Uri completion follows the OpenAPI document. The 14 endpoints it adds (GetByKey on Jobs, Releases, Buckets and Users, GetProcessVersion, /api/Assets/name/{name}/value, the VideoRecording API) are offered on v20 tenants; the 13 it dropped (the classic-robot /odata/Robots({key}) family, ToggleEnabledStatus, /odata/OrganizationUnits, ...) are no longer offered there and stay offered on v11-v19 drives, where they still exist. Changed: user and test-set reads no longer $expand the classic-folder navigations OrganizationUnits and Environment on v20, where the document dropped them -- the way ReleaseDto.Environment went before, which a 26.3 server already refuses. v20 has no classic folders, so nothing is lost. Changed: the Test* cmdlets say once per drive that Orchestrator has deprecated its Test Automation API in favour of Test Manager. They keep working; Clear-OrchCache resets the notice. 1.16.1 Fixed: a flag the source Orchestrator is too old to have is no longer a difference. An Orchestrator that predates a boolean field returns null for it; a newer one returns the field's default, so a comparison across the two reported every such field -- "RetryAbandonedItems: (null) => 'False'" on a queue that had copied perfectly, from the same MSI-to-Automation-Suite migration as 1.16.0. For a bool both values mean "not enabled", so null is now compared as false across the whole Compare-Orch* family. null against TRUE stays a difference: that is the feature switched on at one end. Bool only -- a null number against 0 may mean "absent" but against a non-zero default it does not, and telling those apart needs each field's own default rather than one rule. 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. 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 = '' } |