psPAS Release 8.0
[8.0.0]
Update includes almost all updates for the 15.2, Idira Self-Hosted & latest Privilege Cloud Releases
psPAS 8.0.0 is the module’s biggest release in a while, bringing coverage for a wide swathe of new CyberArk 15.2/Self-Hosted and Privilege Cloud API surface alongside a set of quality-of-life and security fixes across existing commands. Highlights include:
- Platform management -
Set-PASPlatformandNew-PASPlatformSecretadd the ability to update target platform settings and generate platform secrets, andGet-PASPlatformnow merges the newer “Get Platforms” API into its results by default (a breaking change to its output shape, removing thePlatformTypeparameter in the process). - Discovery - a full set of discovery scan commands (
Get-PASDiscoveryScan,Add-PASDiscoveryScan,Stop-PASDiscoveryScan,Remove-PASDiscoveryScan) plus new Privilege Cloud discovered-local-account handling (Hide-/Restore-/Set-PASDiscoveredLocalAccount,Test-PASDiscoveredLocalAccount) round out account discovery workflows. - OAuth Identity Providers -
Add-/Get-/Set-/Remove-PASOAuthProviderlet you configure and inspect OAuth 2.0 identity providers on Self-Hosted environments. - Reporting -
Get-PASReportSchedule/New-PASReportScheduleare renamed toGet-PASReportTask/New-PASReportTask, gain a newRemove-PASReportTaskcounterpart, pagination, filtering and aFiltersparameter, andGet-PASReportActivityexposes the activity groups available for reports. - BYOK (Bring Your Own Key) -
Enable-/Disable-/Set-PASBYOKConfig,Get-PASBYOKPolicyStatementandInvoke-PASBYOKRotationbring key management for Privilege Cloud tenants into psPAS for the first time. - Session lifecycle -
New-PASSessionadds SAML-based logon (ISPSS-Subdomain-SAML/ISPSS-URL-SAMLparameter sets) and now tracks the server’s idle session timeout (via the newGet-PASSessionTimeout), withGet-PASSessionsurfacingIdleTimeout/SessionTimeRemainingand helper methods so scripts can detect and avoid idle timeouts. - Bulk operations -
Resume-PASCPMAutoManagement,Invoke-PASCPMOperation,Clear-PASLinkedAccount,Set-PASLinkedAccount,Resume-PASDependentAccount,Stop-PASCPMTaskandUnlock-PASAccountgain or extend support for sending a single bulk request instead of one call per account. - Security hardening - secret-bearing request bodies across
New-PASSession,New-PASUser,Set-PASUser,Add-PASAccountand others now convert and decode secrets as late as possible, reducing the window in which plaintext could be captured by PowerShell’s parameter-binding trace or Module Logging. -WhatIf/-Confirmsupport lands on a large batch of previously non-ShouldProcessstate-changing commands (Add-PASAccount,Add-PASSafe,Add-PASSafeMember,Enable-/Disable-PASCPMAutoManagement, and more).- Argument completers - tab-completion is added or extended in several places:
Get-PASPlatformswaps aValidateSetfor anArgumentCompleteron target scope values;New-PASUser/Set-PASUser/New-PASDirectoryMapping/Set-PASDirectoryMappinggain completers forAuthorizedInterfaces/unAuthorizedInterfacessourced from the environment’s licensed client IDs;New-PASUser/Set-PASUser/Get-PASUsergain aUserTypecompleter sourced from the environment’s configured user types; andSet-PASAccountgains one forPath. In each case the values are pulled live from the connected environment rather than hard-coded, so completions are accurate for your environment’s configuration.
As always, huge thanks to JP-Consulting for another large wave of contributions across this release. The full breakdown of additions, updates and fixes follows below:
Added
Set-PASPlatform- New function to update settings of a target platform
- Requires Idira 15.2+ Self-Hosted
- Thanks JP-Consulting!!!
New-PASPlatformSecret- New function to generate a secret for a platform
- Requires Idira 15.2+ Self-Hosted
Stop-PASCPMTask- New function to cancel a pending CPM task for an account
- Requires Idira 15.2+ Self-Hosted
Resume-PASCPMAutoManagement- New function to resume CPM automatic management of an account
- Requires Idira 15.2+ Self-Hosted
Remove-PASOAuthProvider- New function to delete a configured OAuth Identity Provider
- Requires Idira 15.0+ Self-Hosted
- Thanks JP-Consulting!!!
Remove-PASReportTask- New function to delete a report task
Test-PASDiscoveredLocalAccount- New function to check whether discovered accounts already exist in the vault
New-PASDiscoveredAccountObject- New helper function to build a correctly structured discovered account object for use with
Test-PASDiscoveredLocalAccount
- New helper function to build a correctly structured discovered account object for use with
Disable-PASBYOKConfig,Enable-PASBYOKConfig,Set-PASBYOKConfig,Get-PASBYOKPolicyStatement,Invoke-PASBYOKRotation- New functions to manage Bring Your Own Key (BYOK) configuration
- Requires Privilege Cloud
Hide-PASDiscoveredLocalAccount,Restore-PASDiscoveredLocalAccount,Set-PASDiscoveredLocalAccount- New functions to ignore/restore/edit Privilege Cloud discovered local accounts
- Requires Privilege Cloud
Get-PASDiscoveryScan,Remove-PASDiscoveryScan,Stop-PASDiscoveryScan,Add-PASDiscoveryScan- New functions to retrieve, delete, add, and stop discovery scans
- Requires Idira 12.2+ Self-Hosted
Get-PASReportActivity- New function to get the list of activity groups available for reports
- Requires Idira 15.0+
Add-PASOAuthProvider,Get-PASOAuthProvider,Set-PASOAuthProvider- New functions to configure and retrieve OAuth 2.0 Identity Providers
- Requires Idira 15.0+ Self-Hosted
Set-PASReportTask- New function to update an existing report task schedule
- Requires Idira 14.6+
Get-PASSessionTimeout- New function to retrieve the idle session timeout configured on the server
- Requires Idira 13.2+ Self-Hosted
Updated
Get-PASPlatform- Breaking change: removes the
PlatformTypeparameter/parameter set - The “Get Platforms” API is now additionally called by default, with its results merged into those of the legacy platform details endpoint, so the shape of the returned results differ from previous versions, but the command is hopefully less confusing to run.
- Adds a
target-detailsparameter set exposing the new “Get target platform settings” API- Requires Idira 15.2+ Self-Hosted
- Replaces a
ValidateSetwith anArgumentCompleterfor target scope values
- Breaking change: removes the
Get-PASReportSchedule,New-PASReportSchedule- Renamed to
Get-PASReportTaskandNew-PASReportTaskrespectively Get-PASReportTaskadds pagination, andsearch/subType/name/FilterLogicalOperator/limitparameters
- Renamed to
Get-PASReport- Replaces the
filterparameter with individual parameters for each filterable report property - Adds
limitandsearchparameters, and result pagination - Allows sorting results by the
createdAtproperty
- Replaces the
Get-PASMasterPolicy,Set-PASMasterPolicy- Adds a
PolicyIdparameter, defaulted to1, to support master policy exceptions defined on platforms - Requires Idira 15.0+ Self-Hosted when a
PolicyIdother than1is specified
- Adds a
Set-PASSafe- Adds a
Quotaparameter- Requires Idira 15.2+
- Allows
NumberOfVersionsRetentionto be set to0
- Adds a
Get-PASVRMServiceStatus,Start-PASVRMService,Stop-PASVRMService,Restart-PASVRMService- Adds the
ENEservice name value- Requires Idira 15.2+
- Adds the
Get-PASGroup- Pipes
groupTypequery results through pagination - Adds a
limitparameter (maximum20000) to thegroupTypeparameter set
- Pipes
Remove-PASAccount- Adds a
DeleteSSHKeyparameter, mapped todeleteOnlyPrivateSshKeyfor Privilege Cloud ordeleteSshKeyFromVaultAndTargetfor Self-Hosted- Self-Hosted requires Idira 15.2+
- Adds a
Clear-PASDependentLinkedAccount,Set-PASDependentLinkedAccount- Adds support for Self-Hosted environments
- Thanks JP-Consulting!!!
Clear-PASLinkedAccount,Set-PASLinkedAccount,Resume-PASDependentAccount,Stop-PASCPMTask,Unlock-PASAccount- Enhances bulk operation support
- Thanks JP-Consulting!!!
Resume-PASCPMAutoManagement,Invoke-PASCPMOperation- Adds bulk operation support:
AccountIDacceptsstring[], sending a single bulk request instead of one call per account when multiple IDs are passed - Bulk requires Idira 15.2+ Self-Hosted, and isn’t available to
Invoke-PASCPMOperationvia-UseGen1API/-ImmediateChangeByCPM
- Adds bulk operation support:
Add-PASDiscoveredLocalAccount,Publish-PASDiscoveredLocalAccount- Adds a
tagsparameter
- Adds a
New-PASReportTask- Adds a
Filtersparameter, with validation of filter names against known values for the reportsubType- Requires Idira 15.0+ when
Filtersis specified
- Requires Idira 15.0+ when
subTypeis now validated against aValidateSetof known report types
- Adds a
Get-PASReportTask,Get-PASReport- Output objects gain a
psPAS.CyberArk.Vault.Task/psPAS.CyberArk.Vault.Reporttype name, enabling default formatting
- Output objects gain a
Get-PASSafe,Find-PASSafe,Get-PASSafeMember,Get-PASReportTask,Get-PASReport,Get-PASPSMSession,Get-PASPSMRecording,Get-PASDependentAccount- Use an updated
Get-NextLinkhelper, capable of paginating result sets which don’t return aNextLink/NextCursorproperty
- Use an updated
Get-PASAccount- Adds
DeleteInsightStatussavedFilter value, applicable to Privilege Cloud
- Adds
Clear-PASDiscoveredAccountList- Renamed to
Clear-PASDiscoveredAccount
- Renamed to
Add-PASDiscoveredAccount- Allows account duplications
Set-PASPTAEvent- Adds additional parameters for closing events
New-PASUser,Set-PASUser,New-PASDirectoryMapping,Set-PASDirectoryMappingAuthorizedInterfaces/unAuthorizedInterfacesparameters gain anArgumentCompletersourced from the licensed client IDs of the current environment
New-PASUser,Set-PASUser,Get-PASUserUserTypeparameter gains anArgumentCompletersourced from the configured user types of the current environment
Set-PASAccount- Adds an
ArgumentCompleterfor thePathparameter
- Adds an
New-PASSession- Adds
ISPSS-Subdomain-SAMLandISPSS-URL-SAMLparameter sets, allowing a SAML assertion to be exchanged for an authenticated Identity Shared Services/Privilege Cloud session, alongside the existing IdentityUser/ServiceUser flows - Rationalises the command’s examples down to one per parameter set, and refreshes the description to drop outdated CyberArk version-support trivia
- Adds
Get-PASAccountSSHKey- Adds a
Pathparameter, to save the retrieved SSH key directly to a file
- Adds a
Add-PASAccountGroupMember,New-PASAccountGroup,Get-PASAccount,Get-PASDependentAccount,Get-PASDiscoveredAccount,Get-PASDiscoveredLocalAccount,Set-PASDependentLinkedAccount,Set-PASLinkedAccount,Add-PASAuthenticationMethod,Add-PASOpenIDConnectProvider,Set-PASAuthenticationMethod,Set-PASDirectoryMapping,Get-PASPSMRecording,Get-PASPSMSession,Get-PASPlatform,Get-PASReport,Get-PASReportTask,New-PASReportTask,Set-PASReportTask,Get-PASSafeMember,Find-PASSafe,Get-PASSafe,Get-PASGroup,Get-PASUser,New-PASGroup,New-PASUser,Set-PASGroup,Set-PASUser- Adds parameter length validation attributes
- Thanks JP-Consulting!!!
Get-PASServer,Get-PASLoggedOnUser- Use their Gen2 endpoints by default
Get-PASSession- Adds
IdleTimeout,SessionTimeRemainingandSessionWarningThresholdto the returned session data, andGetRemainingSessionTime()/Refresh()methods to the returned object, to help track and avoid idle session timeouts - see API Sessions and Methods
- Adds
New-PASSession- Retrieves and stores the idle session timeout (via
Get-PASSessionTimeout, where supported) at logon, for use by the aboveGet-PASSessionadditions
- Retrieves and stores the idle session timeout (via
- Requests made via
Invoke-PASRestMethodnow emit a warning when the session is close to idle-timing out, based on the tracked idle timeout Add-PASAccount,Add-PASAccountACL,Add-PASAccountGroupMember,Add-PASAllowedReferrer,Add-PASApplication,Add-PASApplicationAuthenticationMethod,Add-PASAuthenticationMethod,Add-PASDirectory,Add-PASDiscoveredAccount,Add-PASDiscoveredLocalAccount,Add-PASGroupMember,Add-PASOAuthProvider,Add-PASOpenIDConnectProvider,Add-PASPTAGlobalCatalog,Add-PASPTARule,Add-PASPTASyslog,Add-PASPendingAccount,Add-PASPersonalAdminAccount,Add-PASPolicyACL,Add-PASPublicSSHKey,Add-PASSafe,Add-PASSafeMember,Disable-PASCPMAutoManagement,Enable-PASCPMAutoManagement,Revoke-PASJustInTimeAccess- Adds
SupportsShouldProcess/-WhatIf/-Confirmsupport to state-changing functions which did not already have it
- Adds
Fixed
- Secret-bearing request bodies
New-PASSession,New-PASUser,Set-PASUser,Set-PASUserPassword,Add-PASAccount,Publish-PASDiscoveredAccount,Publish-PASDiscoveredLocalAccount, Vault Remote Manager functions and others now convert decoded secrets to UTF8 bytes, and decode secrets as late as possible in each function, reducing the risk of plaintext secret exposure via PowerShell’s ParameterBinding trace/Windows Module Logging
New-PASSession- Fixes an edge case where a variable name could collide with a parameter name
New-PASReportTask- Adds
-Depth 4to theConvertTo-Jsoncall, as theSubscribersparameter accepts objects that nest to 4 levels - Corrects the nested structure used for Schedule Recurrence
- Adds
Get-PASReportTask- Fixes an output issue when the
idparameter is specified
- Fixes an output issue when the
Test-PASDiscoveredLocalAccount- Corrects the request body property name (
accountsinstead ofaccount)
- Corrects the request body property name (
New-PASRequest- Fixes JSON conversion of the
BulkItemsrequest body, which nests 5 levels deep
- Fixes JSON conversion of the
Out-PASFile- Allows a full path, including filename, to be specified, in addition to a path to a folder
- Thanks everyone who reported #551!
Export-PASTicketingSystemLog- Updates the API URL and renames the
UserIdparameter tousername, in line with changes made in vendor documentation
- Updates the API URL and renames the
Get-PASAccount- Fixes an issue where dynamic search-property lookups performed against Idira 14.4+ (to build search parameters) could overwrite
LastCommand/LastCommandResultin the session; results are now read from a cache instead of callingGet-PASAccountSearchPropertydirectly, and internal helper calls no longer clobber session state
- Fixes an issue where dynamic search-property lookups performed against Idira 14.4+ (to build search parameters) could overwrite