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.12.3' # 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.12.3 Added: -TimeZoneId now tab-completes on New-OrchTrigger, Update-OrchTrigger and Update-OrchMachine. These bind a Windows time-zone id (Tokyo Standard Time); only their -TimeZone siblings had a completer, so the id parameters offered nothing. They now use the same completer as the test-set-schedule cmdlets, matching on either the id or the display name, and falling back to an embedded Windows table on Linux/macOS -- where the OS zone database is IANA -- so every suggestion is one Orchestrator will accept. The parameters are DontShow, which hides them from parameter-name completion but not from argument completion, so the suggestions appear once the name is typed. Fixed: Resolve-OrchAuthError sent you to the wrong place for unauthorized_client. Requesting an OAuth scope the external application has not been granted surfaces as unauthorized_client, not invalid_scope, on both Automation Cloud and on-premises 22.10. That code had no branch of its own, so it fell through to generic advice declaring the cause server-side and recommending the URL be escalated to UiPath Identity engineering. Both halves are wrong for the commonest cause: the problem is the drive's Scope and it is yours to fix. unauthorized_client now leads with that, and names the property that makes the failure so hard to place -- Identity rejects the entire authorization request rather than the offending scope, and never says which entry it was, so one stray scope blocks sign-in with no clue as to why. invalid_scope gained the same explanation, and the generic branch now suggests checking Scope / AppId / RedirectUrl before proposing escalation. Fixed: an OAuth error on the PKCE callback was indistinguishable from no callback at all. RFC 6749 lets Identity answer a failed authorize request by redirecting to the redirect_uri with ?error= instead of ?code=. The loopback listener read only `code`, so such a callback was ignored and the wait ran on to the full three-minute PKCE timeout, which then reported "no browser callback received" -- the opposite of what happened. The error is now read off the callback and surfaced with its OAuth error code and the server's description, and the browser gets a page saying so instead of hanging. Callbacks carrying neither code nor error (favicon probes, stray requests) are still ignored. Note that neither Automation Cloud nor on-premises 22.10 was observed to redirect errors back this way -- both park the browser on an Identity error page -- so this is conformance for deployments that do redirect, not a cure for the timeout those two produce. 1.12.2 Fixed four independent defects in the drive's HTTP diagnostic log. Fixed: the on-premises username/password sign-in (POST /api/Account/Authenticate) wrote the bearer token to the log in plaintext at Trace/Verbose. That flow returns the token under ABP's `result` key, outside the OAuth2/OIDC vocabulary the redaction set was built from, so it was never masked. Only that one auth endpoint was affected -- Automation Cloud, Automation Suite, PKCE, confidential-app and PAT drives never had the token in the log. If you have shared or archived logs from an on-premises username/password drive at Trace/Verbose, treat those tokens as exposed. Fixed: a transient I/O error silently destroyed log entries. The writer swallowed the exception, reported success, and the entries were discarded -- while the statistics still reported DroppedEntries = 0. A failed write is now retried on the next write, and anything genuinely abandoned (an unwritable path, or a retention cap reached during a long outage) is counted. Fixed: log blocks could be written out of order, because each was handed to the thread pool and forgotten, shuffling the sequence numbers. Blocks are now written inline, in the order produced. Fixed: log directories and files created on Linux/macOS were world-readable -- they inherited the process umask (commonly 0755/0644) while the config file had always been 0600, though the logs hold the same class of secret (request and response bodies at Trace/Verbose and on every error). New log directories are now created 0700 and new log files 0600; paths created by earlier versions keep their existing permissions. Fixed: Set-OrchBucketItem reported an unsupported storage provider as "The method or operation is not implemented." The error now names the verb the provider actually returned and states which uploads are supported; a provider that omitted the verb no longer throws NullReferenceException. Fixed: throttled requests (429/503/504) retried in lockstep on a fixed 500ms/1s/2s backoff, re-creating the burst that tripped the throttle -- the shape produced by the -Recurse fan-outs. The delay is now spread by +/-25%. A server-supplied Retry-After is still honoured exactly as sent. Changed: the log file is held open while a drive is actively logging and released after 5 seconds without a write (writing through an open handle is far cheaper than reopening per entry). While the handle is held, Windows refuses any open declaring FileShare.Read -- Compress-Archive, Get-FileHash, Remove-Item, [IO.File]::ReadAllText. PowerShell's own provider shares read/write, so Get-Content, Get-Content -Wait, Select-String and Copy-Item are unaffected. To zip, hash or delete an active drive's log, pause a few seconds or unmount the drive first; writes made while the file is busy are retained and written once it is free. 1.12.1 Update-Orch* cmdlets now skip the API call when nothing actually changed. The field-level change detection introduced in v0.9.16.1 missed a family of fields (execution settings, roles, unattended-robot, tags, machine robots, retention, entry point, ...) that flipped the dirty flag whenever the parameter was merely present, re-writing the record -- and churning the audit log -- even when the value was unchanged. Each cmdlet's change decision is now a pure, per-field unit-tested core, so a no-op request issues no PUT/PATCH. Reported for Update-OrchUser * -ES_StudioNotifyServer false. Fixed: every partition-scoped Pm* operation failed with InvalidPartition on a newer Automation Cloud org (Get-PmGroup, New-PmUser, Copy-PmUser, ...). The Cloud identity API needs the org-scoped route, but the config's auto-generated host-level IdentityUrl (required for the PKCE authorize endpoint) was clobbering the identity API base. The API base now stays org-scoped on Cloud, while the authorize endpoint and Automation Suite / on-premises are unchanged. Fixed: New-PmUser -UserName with a bare non-address name now creates a userName-only local user (the name was being copied into the email field, which the server rejected). Remove-PmUser -UserName now matches by userName or email, so an email-less user can be removed. Update-OrchWebhook no longer overwrites -Secret with a blank value when an empty string is passed. 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 = '' } |