{"id":13596544,"url":"https://github.com/pspete/psPAS","last_synced_at":"2025-04-09T16:33:02.680Z","repository":{"id":38008104,"uuid":"95995667","full_name":"pspete/psPAS","owner":"pspete","description":"PowerShell module for CyberArk Privileged Access Security REST API","archived":false,"fork":false,"pushed_at":"2024-10-05T20:56:01.000Z","size":6518,"stargazers_count":295,"open_issues_count":7,"forks_count":92,"subscribers_count":48,"default_branch":"master","last_synced_at":"2024-11-06T19:45:25.884Z","etag":null,"topics":["cyberark","cyberark-api","cyberark-automation","powershell","restapi"],"latest_commit_sha":null,"homepage":"https://pspas.pspete.dev","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pspete.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["pspete"]}},"created_at":"2017-07-02T01:20:15.000Z","updated_at":"2024-10-15T15:32:52.000Z","dependencies_parsed_at":"2023-01-21T02:01:53.056Z","dependency_job_id":"da3c4e95-8889-4598-ac38-efdd88a1cc6e","html_url":"https://github.com/pspete/psPAS","commit_stats":{"total_commits":1075,"total_committers":16,"mean_commits":67.1875,"dds":"0.045581395348837206","last_synced_commit":"ab5e9978f6afc1c7ac51946c2a1db36378e60bf0"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pspete%2FpsPAS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pspete%2FpsPAS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pspete%2FpsPAS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pspete%2FpsPAS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pspete","download_url":"https://codeload.github.com/pspete/psPAS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248067973,"owners_count":21042393,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cyberark","cyberark-api","cyberark-automation","powershell","restapi"],"created_at":"2024-08-01T16:02:33.893Z","updated_at":"2025-04-09T16:32:57.662Z","avatar_url":"https://github.com/pspete.png","language":"PowerShell","funding_links":["https://github.com/sponsors/pspete"],"categories":["PowerShell"],"sub_categories":[],"readme":"[![psPAS][]][Docs]\n\n[psPAS]:/docs/assets/images/header_photo.png\n[Logo]:/docs/assets/images/shop_banner_symbol.png\n[Docs]:https://pspas.pspete.dev\n\n# **psPAS: PowerShell Module for the CyberArk API**\n\nThrough the PVWA REST API, administer CyberArk PAS with PowerShell.\n\nContains all of the documented API capabilities up to CyberArk v14.0.\n\nDocs: [https://pspas.pspete.dev](https://pspas.pspete.dev)\n\n----------\n\n## Module Status\n\n| Master Branch             | Latest Build             | CodeFactor                | Coverage                    |  PowerShell Gallery       |  License                   |\n|---------------------------|--------------------------|---------------------------|-----------------------------|---------------------------|----------------------------|\n|[![appveyor][]][av-site]   |[![tests][]][tests-site]  | [![codefactor][]][cf-site]| [![codecov][]][codecov-link]| [![psgallery][]][ps-site] |[![license][]][license-link]|\n|[![release][]][github-site]|[![github][]][installlink]|                           | [![coveralls][]][cv-site]   | [![downloads][]][ps-site] |                            |\n\n[appveyor]:https://ci.appveyor.com/api/projects/status/j45hbplm4dq4vfye/branch/master?svg=true\n[av-site]:https://ci.appveyor.com/project/pspete/pspas/branch/master\n[coveralls]:https://coveralls.io/repos/github/pspete/psPAS/badge.svg\n[cv-site]:https://coveralls.io/github/pspete/psPAS\n[psgallery]:https://img.shields.io/powershellgallery/v/psPAS.svg\n[ps-site]:https://www.powershellgallery.com/packages/psPAS\n[license]:https://img.shields.io/github/license/pspete/psPAS.svg\n[license-link]:https://github.com/pspete/psPAS/blob/master/LICENSE.md\n[tests]:https://img.shields.io/appveyor/tests/pspete/pspas.svg\n[tests-site]:https://ci.appveyor.com/project/pspete/pspas\n[downloads]:https://img.shields.io/powershellgallery/dt/pspas.svg?color=blue\n[cf-site]:https://www.codefactor.io/repository/github/pspete/pspas\n[codefactor]:https://www.codefactor.io/repository/github/pspete/pspas/badge\n[codecov]:https://codecov.io/gh/pspete/psPAS/branch/master/graph/badge.svg\n[codecov-link]:https://codecov.io/gh/pspete/psPAS\n[github]:https://img.shields.io/github/downloads/pspete/psPAS/total?color=brightgreen\n[github-site]:https://github.com/pspete/psPAS/releases/latest\n[release]:https://img.shields.io/github/v/release/pspete/psPAS?color=brightgreen\n[installlink]:https://github.com/pspete/psPAS#install-options\n\n----------\n\n- [Usage](#usage)\n  - [Authenticate](#authenticate)\n  - [Basic Operations](#basic-operations)\n  - [Advanced Examples](#advanced-examples)\n  - [Sample Scripts](#sample-scripts)\n- [psPAS Functions](#pspas-functions)\n- [Installation](#installation)\n  - [Prerequisites](#prerequisites)\n  - [Install Options](#install-options)\n  - [Verification](#verification)\n- [Sponsorship](#sponsorship)\n- [Changelog](#changelog)\n- [Author](#author)\n- [License](#license)\n- [Contributing](#contributing)\n- [Support](#support)\n- [Acknowledgements](#acknowledgements)\n\n## Usage\n\n![Logo][Logo]\n\n### Authenticate\n\n_Everything begins with a **Logon**:_\n\nTo submit a logon request to the CyberArk API, use the psPAS `New-PASSession` command.\n\nAll subsequent operations are carried out by `psPAS` utilises the input data provided for the `New-PASSession` request (URL, Certificate), as well as data received from the API after successful authentication (Authentication Token, PVWA Version).\n\n#### CyberArk Authentication\n\n- Use a PowerShell credential object containing a valid vault username and password.\n\n````powershell\n$cred = Get-Credential\n\nPowerShell credential request\nEnter your credentials.\nUser: safeadmin\nPassword for user safeadmin: **********\n\n\nNew-PASSession -Credential $cred -BaseURI https://pvwa.somedomain.com\n````\n\n#### LDAP Authentication\n\n- Specify LDAP credentials allowed to authenticate to the vault.\n\n````powershell\n$cred = Get-Credential\n\nPowerShell credential request\nEnter your credentials.\nUser: xApprover_1\nPassword for user xApprover_1: **********\n\n\nNew-PASSession -Credential $cred -BaseURI https://pvwa.somedomain.com -type LDAP\n\nGet-PASLoggedOnUser\n\nUserName    Source UserTypeName AgentUser Expired Disabled Suspended\n--------    ------ ------------ --------- ------- -------- ---------\nxApprover_1 LDAP   EPVUser      False     False   False    False\n````\n\n#### RADIUS Authentication\n\n````powershell\n$cred = Get-Credential\n\nPowerShell credential request\nEnter your credentials.\nUser: DuoUser\nPassword for user DuoUser: **********\n\n\nNew-PASSession -Credential $cred -BaseURI https://pvwa.somedomain.com -type RADIUS -OTP 123456\n\nGet-PASLoggedOnUser\n\nUserName Source UserTypeName AgentUser Expired Disabled Suspended\n-------- ------ ------------ --------- ------- -------- ---------\nDuoUser  LDAP   EPVUser      False     False   False    False\n````\n\n#### SAML Authentication\n\nSAML SSO authentication using IWA and ADFS can be performed\n\n```powershell\nNew-PASSession -BaseURI $url -SAMLAuth\n```\n\nWhere IWA SSO is not possible, the [PS-SAML-Interactive](https://github.com/allynl93/PS-SAML-Interactive) module can be used to get the SAMLResponse from an authentication service.\n\nThe SAMLResponse received from the IdP is sent to complete saml authentication to the API.\n\n```powershell\nimport-module -name 'C:\\PS-SAML-Interactive.psm1'\n\n$loginURL = 'https://company.okta.com/home/app1/0oa11xddwdzhvlbiZ5d7/aln1k2HsUl5d7'\n$baseURL = 'https://pvwa.mycompany.com'\n\n$loginResponse = New-SAMLInteractive -LoginIDP $loginURL\n\nNew-PASSession -SAMLAuth -concurrentSession $true -BaseURI $baseURL -SAMLResponse $loginResponse\n```\n\n#### Certificate Authentication\n\n- Where PVWA/IIS requires client certificates, 'psPAS' will use any specified certificates for the duration of the session.\n\nPKI Authentication Example:\n```powershell\nAdd-Type -AssemblyName System.Security\n# Get Valid Certs\n$MyCerts = [System.Security.Cryptography.X509Certificates.X509Certificate2[]](Get-ChildItem Cert:\\CurrentUser\\My)\n# Select Cert\n$Cert = [System.Security.Cryptography.X509Certificates.X509Certificate2UI]::SelectFromCollection(\n    $MyCerts,\n    'Choose a certificate',\n    'Choose a certificate',\n    'SingleSelection'\n) | select -First 1\n\nNew-PASSession -Credential $cred -BaseURI $url -type PKI -Certificate $Cert\n```\nShared Authentication Example:\n```powershell\n$Cert = \"0E199489C57E666115666D6E9990C2ACABDB6EDB\"\nNew-PASSession -UseSharedAuthentication -BaseURI https://pvwa.somedomain.com -CertificateThumbprint $Cert\n```\n\n#### Shared Services Authentication\n\n**Privilege Cloud Shared Services authentication flows require the pspete `IdentityCommand` module, available from the [Powershell Gallery](https://www.powershellgallery.com/packages/IdentityCommand) \u0026 [GitHub](https://github.com/pspete/IdentityCommand).**\n\n##### Identity User\n\nProvide Identity User credentials and tenant details for authentication to CyberArk Identity for Privilege Cloud Shared Services:\n\n```\n#using URL\nNew-PASSession -IdentityTenantURL https://SomeTenantName.id.cyberark.cloud -PrivilegeCloudURL https://SomeTenant.privilegecloud.cyberark.cloud -Credential $Cred -IdentityUser\n```\n\n```\n#using subdomain\nNew-PASSession -TenantSubdomain SomeTenantName -Credential $Cred -IdentityUser\n```\n\n##### Service User\n\nProvide tenant ID and non-interactive API User credentials for authentication via CyberArk Identity for Privilege Cloud Shared Services:\n\n```\nNew-PASSession -TenantSubdomain YourPrivilegeCloudTenantID -Credential $ServiceUserCreds -ServiceUser\n```\n\nConsult the vendor documentation for guidance on setting up a dedicated API Service user for non-interactive API use.\n\n### Basic Operations\n\n![Logo][Logo]\n\n#### Search\n\n##### Safes\n\n- Get information relating to Safes you have access to:\n\n````powershell\nGet-PASSafe -search _YZO\n\nSafeName           ManagingCPM     NumberOfDaysRetention NumberOfVersionsRetention Description\n--------           -----------     --------------------- ------------------------- -----------\n1_TestSafe_096_YZO PasswordManager                       3                         TestSafe: 1_TestSafe_096_YZO\n1_TestSafe_100_YZO PasswordManager                       3                         TestSafe: 1_TestSafe_100_YZO\n3_TestSafe_058_YZO PasswordManager                       3                         TestSafe: 3_TestSafe_058_YZO\n3_TestSafe_068_YZO PasswordManager                       3                         TestSafe: 3_TestSafe_068_YZO\n3_TestSafe_069_YZO PasswordManager                       3                         TestSafe: 3_TestSafe_069_YZO\n2_TestSafe_090_YZO PasswordManager                       3                         TestSafe: 2_TestSafe_090_YZO\n1_TestSafe_067_YZO PasswordManager                       3                         TestSafe: 1_TestSafe_067_YZO\n````\n\n## Safe Members\n\n- Find Safe Members:\n\n````powershell\nGet-PASSafeMember -SafeName 1_TestSafe_067_YZO -search Usr\n\nUserName                     SafeName           Permissions\n--------                     --------           -----------\nACC-G-1_TestSafe_067_YZO-Usr 1_TestSafe_067_YZO @{useAccounts=True; retrieveAccounts=True; listAccounts=True; addAccounts=False;.....\n````\n\n##### Users\n\n- Query for Vault Users:\n\n````powershell\nGet-PASUser -Search xap\n\nID  UserName    Source UserType ComponentUser Location\n--  --------    ------ -------- ------------- --------\n657 xApprover_A LDAP   EPVUser  False         \\psPETE\\Users\n658 xApprover_1 LDAP   EPVUser  False         \\psPETE\\Users\n659 xApprover_B LDAP   EPVUser  False         \\psPETE\\Users\n660 xApprover_2 LDAP   EPVUser  False         \\psPETE\\Users\n661 xApprover_C LDAP   EPVUser  False         \\psPETE\\Users\n662 xApprover_3 LDAP   EPVUser  False         \\psPETE\\Users\n````\n\n##### Accounts\n\n- Return Account data:\n\n````powershell\nGet-PASAccount -SafeName \"3_TestSafe_028_XYJ\" -search sbwudlov\n\nAccountID                 : 286_4\nSafe                      : 3_TestSafe_028_XYJ\naddress                   : SOMEDOMAIN.COM\nuserName                  : sbwudlov\nname                      : Operating System-Z_WINDOMAIN_OFF-SOMEDOMAIN.COM-sbwudlov\nplatformId                : Z_WINDOMAIN_OFF\nsecretType                : password\nplatformAccountProperties : @{LogonDomain = SOMEDOMAIN }\nsecretManagement          : @{automaticManagementEnabled = True; lastModifiedTime = 1559864222 }\ncreatedTime               : 06/06/2019 23:37:02\n````\n\n###### 1st Gen API\n\n- The `keywords` \u0026 `safe` parameters of `Get-PASAccount` force use of the 1st gen API:\n\n````powershell\nGet-PASAccount -Safe 3_TestSafe_028_XYJ\nWARNING: 2 matching accounts found. Only the first result will be returned\n\nAccountID          : 286_3\nSafe               : 3_TestSafe_028_XYJ\nFolder             : Root\nName               : Operating System-Z_WINDOMAIN_OFF-SOMEDOMAIN.COM-kmgrsebf\nUserName           : kmgrsebf\nPlatformID         : Z_WINDOMAIN_OFF\nDeviceType         : Operating System\nAddress            : SOMEDOMAIN.COM\nInternalProperties : @{CreationMethod = PVWA }\n````\n\n- Only details of the first found account will be returned.\n- More results can be returned by specifying alternative parameters to avoid sending the request via the 1st gen API\n\n````powershell\nPS\u003eGet-PASAccount -SafeName \"3_TestSafe_028_XYJ\"\n\nAccountID                 : 286_3\nSafe                      : 3_TestSafe_028_XYJ\naddress                   : SOMEDOMAIN.COM\nuserName                  : kmgrsebf\nname                      : Operating System-Z_WINDOMAIN_OFF-SOMEDOMAIN.COM-kmgrsebf\nplatformId                : Z_WINDOMAIN_OFF\nsecretType                : password\nplatformAccountProperties : @{LogonDomain = SOMEDOMAIN }\nsecretManagement          : @{automaticManagementEnabled = True; lastModifiedTime = 1559864221 }\ncreatedTime               : 06/06/2019 23:37:01\n\nAccountID                 : 286_4\nSafe                      : 3_TestSafe_028_XYJ\naddress                   : SOMEDOMAIN.COM\nuserName                  : sbwudlov\nname                      : Operating System-Z_WINDOMAIN_OFF-SOMEDOMAIN.COM-sbwudlov\nplatformId                : Z_WINDOMAIN_OFF\nsecretType                : password\nplatformAccountProperties : @{LogonDomain = SOMEDOMAIN }\nsecretManagement          : @{automaticManagementEnabled = True; lastModifiedTime = 1559864222 }\ncreatedTime               : 06/06/2019 23:37:02\n````\n\n![Logo][Logo]\n\n#### Administration\n\n##### Add An Account\n\n- Add an account to manage:\n\n````powershell\n#Convert Password to SecureString\n$Password = ConvertTo-SecureString -String \"Secret1337$\" -AsPlainText -Force\n\n#Additional account details\n$platformAccountProperties = @{\n  \"LOGONDOMAIN\"=\"domain.com\"\n  \"Notes\"=\"Demo Account. Owner:psPete\"\n  \"Classification\"=\"1F\"\n}\n\n#Add Account\nAdd-PASAccount -secretType Password -secret $Password -SafeName \"YourSafe\" -PlatformID \"YourPlatform\" `\n-Address \"domain\" -Username SomeUsername -platformAccountProperties $platformAccountProperties\n````\n\n##### Create Safes\n\n- Simple safe creation:\n\n````powershell\nAdd-PASSafe -SafeName NewSafe -Description \"New Safe\" -ManagingCPM PasswordManager -NumberOfVersionsRetention 10\n\nSafeName ManagingCPM     NumberOfDaysRetention NumberOfVersionsRetention Description\n-------- -----------     --------------------- ------------------------- -----------\nNewSafe  PasswordManager                       10                        New Safe\n````\n\n##### Add Safe Members\n\n- Consistent safe membership:\n\n````powershell\nAdd-PASSafeMember -SafeName NewSafe -MemberName NewMember -UseAccounts $false -ListAccounts $true `\n\t-RetrieveAccounts $false -ViewAuditLog $true -ViewSafeMembers $true\n\nUserName  SafeName Permissions\n--------  -------- -----------\nNewMember NewSafe  @{useAccounts=False; retrieveAccounts=False; listAccounts=True; addAccounts=False;...\n````\n\n##### Update Accounts\n\n- Update values for individual account properties:\n\n````powershell\nSet-PASAccount -AccountID 286_4 -op replace -path /address -value NEWDOMAIN.COM\n\nAccountID                 : 286_4\nSafe                      : 3_TestSafe_028_XYJ\naddress                   : NEWDOMAIN.COM\nuserName                  : sbwudlov\nname                      : Operating System-Z_WINDOMAIN_OFF-SOMEDOMAIN.COM-sbwudlov\nplatformId                : Z_WINDOMAIN_OFF\nsecretType                : password\nplatformAccountProperties : @{LogonDomain=SOMEDOMAIN}\nsecretManagement          : @{automaticManagementEnabled=True; lastModifiedTime=1559864222}\ncreatedTime               : 06/06/2019 23:37:02\n\nSet-PASAccount -AccountID 286_4 -op replace -path /platformAccountProperties/LogonDomain -value NEWDOMAIN\n\nAccountID                 : 286_4\nSafe                      : 3_TestSafe_028_XYJ\naddress                   : NEWDOMAIN.COM\nuserName                  : sbwudlov\nname                      : Operating System-Z_WINDOMAIN_OFF-SOMEDOMAIN.COM-sbwudlov\nplatformId                : Z_WINDOMAIN_OFF\nsecretType                : password\nplatformAccountProperties : @{LogonDomain=NEWDOMAIN}\nsecretManagement          : @{automaticManagementEnabled=True; lastModifiedTime=1559864222}\ncreatedTime               : 06/06/2019 23:37:02\n````\n\n![Logo][Logo]\n\n##### CPM Operations\n\n###### Verify\n\n- Verify passwords\n\n```powershell\n# immediate verification\nInvoke-PASCPMOperation -AccountID $ID -VerifyTask\n```\n\n###### Change\n\n- Change passwords for accounts or account groups\n\n```powershell\n# immediate change\nInvoke-PASCPMOperation -AccountID $ID -ChangeTask\n\n# immediate change to a specific password value\nInvoke-PASCPMOperation -AccountID $ID -ChangeTask -ChangeImmediately $true -NewCredentials $SecureString\n\n# change password in the Vault only\nInvoke-PASCPMOperation -AccountID $ID -ChangeTask -NewCredentials $SecureString\n\n# change password for account group\nInvoke-PASCPMOperation -AccountID $ID -ChangeTask -ChangeEntireGroup $true\n\n# change password for account group to a specific password value\nInvoke-PASCPMOperation -AccountID $ID -ChangeTask -ChangeEntireGroup $true -NewCredentials $SecureString\n```\n\n###### Reconcile\n\n- Reconcile passwords\n\n```powershell\n# immediate reconcile\nInvoke-PASCPMOperation -AccountID $ID -ReconcileTask\n```\n\n##### Import a Connection Component\n\n- Import Custom Connection Components:\n\n````powershell\nImport-PASConnectionComponent -ImportFile C:\\Temp\\ConnectionComponent.zip\n````\n\n##### Platforms\n\n- Import \u0026 Export of CPM Platforms:\n\n````powershell\n#Import a Platform\nImport-PASPlatform -ImportFile C:\\Temp\\Platform.zip\n\n#Export a Platform\nExport-PASPlatform -PlatformID \"Some-SSH-Platform\" -Path C:\\Temp\n````\n\n![Logo][Logo]\n\n#### Pipeline Operations\n\n- Work with the PowerShell pipeline:\n\n````powershell\n#Find directory groups assigned to safes\nGet-PASSafe -search YZO | Get-PASSafeMember -memberType group -includePredefinedUsers $false |\n    Where-Object { Get-PASGroup -search $_.UserName -groupType Directory }\n\nUserName                     SafeName           Permissions\n--------                     --------           -----------\nACC-G-1_TestSafe_096_YZO-Usr 1_TestSafe_096_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-1_TestSafe_096_YZO-Adm 1_TestSafe_096_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-1_TestSafe_100_YZO-Usr 1_TestSafe_100_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-1_TestSafe_100_YZO-Adm 1_TestSafe_100_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-3_TestSafe_058_YZO-Usr 3_TestSafe_058_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-3_TestSafe_058_YZO-Adm 3_TestSafe_058_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-3_TestSafe_068_YZO-Usr 3_TestSafe_068_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-3_TestSafe_068_YZO-Adm 3_TestSafe_068_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-3_TestSafe_069_YZO-Usr 3_TestSafe_069_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-3_TestSafe_069_YZO-Adm 3_TestSafe_069_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-2_TestSafe_090_YZO-Usr 2_TestSafe_090_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-2_TestSafe_090_YZO-Adm 2_TestSafe_090_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-1_TestSafe_067_YZO-Usr 1_TestSafe_067_YZO @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-1_TestSafe_067_YZO-Adm 1_TestSafe_067_YZO @{useAccounts=True; retrieveAccounts=True; lis...\n\n````\n\n- Multiple `psPAS` commands can be used together, along with standard PowerShell CmdLets:\n\n````powershell\n#Add all \"admin\" users in the root location to the PVWAMonitor group\nGet-PASUser -UserType EPVUser -Search Admin | Where-Object { $_.location -eq \"\\\" } |\nAdd-PASGroupMember -GroupName PVWAMonitor\n\n#Find an account, then find the members of the account's safe.\nGet-PASAccount -id 283_3 | Get-PASSafeMember\n\nUserName                     SafeName           Permissions\n--------                     --------           -----------\nSafeAdmin                    3_TestSafe_100_OWZ @{useAccounts=True; retrieveAccounts=True; lis...\nPSMAppUsers                  3_TestSafe_100_OWZ @{useAccounts=False; retrieveAccounts=False; lis...\nPasswordManager              3_TestSafe_100_OWZ @{useAccounts=True; retrieveAccounts=True; lis...\nSafeAdmin3                   3_TestSafe_100_OWZ @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-3_TestSafe_100_OWZ-Usr 3_TestSafe_100_OWZ @{useAccounts=True; retrieveAccounts=True; lis...\nACC-G-3_TestSafe_100_OWZ-Adm 3_TestSafe_100_OWZ @{useAccounts=True; retrieveAccounts=True; lis...\nProv_ZZSRV01                 3_TestSafe_100_OWZ @{useAccounts=False; retrieveAccounts=True; lis...\npsPAS                        3_TestSafe_100_OWZ @{useAccounts=False; retrieveAccounts=True; lis...\n````\n\n### Advanced Examples\n\n![Logo][Logo]\n\n#### Bulk Operations\n\nThe standard features of PowerShell which allow creation of and iterations through collections of objects, can be used to perform bulk operations:\n\n##### Example 1 - On-board Multiple Accounts\n\n````powershell\n$Accounts = Import-Csv -Path C:\\Temp\\Accounts.csv\n\nNew-PASSession -Credential $creds -BaseURI https://your.pvwa.url\n\nforeach($Account in $Accounts){\n\n    $Password = ConvertTo-SecureString -String $Account.Password -AsPlainText -Force\n\n    Add-PASAccount -secretType Password `\n    -secret $Password `\n    -platformAccountProperties @{\"LOGONDOMAIN\"=$Account.LogonDomain} `\n    -SafeName $Account.SafeName `\n    -PlatformID $Account.PlatformID `\n    -Address $Account.Address `\n    -Username $Account.Username\n\n}\n\nClose-PASSession\n````\n\n##### Example 2 - Delete Multiple Safes\n\n````powershell\n#Specify Vault Logon Credentials\n$LogonCredential = Get-Credential\n\n#Logon\nNew-PASSession -Credential $LogonCredential -BaseURI https://your.pvwa.url\n\n$Safes = Get-PASSafe -search TestSafe\n\n#Delete Safes\nforeach ($Safe in $Safes){\n\n  Remove-PASSafe -SafeName $Safe.SafeName -WhatIf\n\n}\n\n#Logoff\nClose-PASSession\n````\n\n##### Example 3 - Move a List of Users to a New Location\n\n````powershell\n#Vault Logon Credentials\n$LogonCredential = Get-Credential\n\n#Logon\nNew-PASSession -Credential $LogonCredential -BaseURI https://your.pvwa.url\n\n#get list of users\n$users = Get-Content .\\userlist.txt\n\n#move users\n$users | foreach{\n\n  Set-PASUser -UserName $_ -Location \"\\New\\Location\\Path\" -WhatIf\n\n}\n\n#Logoff\nClose-PASSession\n````\n\n![Logo][Logo]\n\n#### Safe Permissions\n\n- Define Safe Roles and assign to safe members:\n\n````powershell\n$Role1 = [PSCustomObject]@{\n  UseAccounts                            = $true\n  ListAccounts                           = $true\n  ViewAuditLog                           = $false\n  ViewSafeMembers                        = $false\n}\n\n$Role2 = [PSCustomObject]@{\n  UseAccounts                            = $false\n  ListAccounts                           = $true\n  RetrieveAccounts                       = $false\n  AddAccounts                            = $true\n  UpdateAccountContent                   = $true\n  UpdateAccountProperties                = $true\n  InitiateCPMAccountManagementOperations = $true\n  SpecifyNextAccountContent              = $false\n  RenameAccounts                         = $true\n  DeleteAccounts                         = $true\n  UnlockAccounts                         = $true\n  ManageSafe                             = $true\n  ManageSafeMembers                      = $true\n  BackupSafe                             = $false\n  ViewAuditLog                           = $true\n  ViewSafeMembers                        = $true\n  requestsAuthorizationLevel1            = $false\n  requestsAuthorizationLevel2            = $false\n  AccessWithoutConfirmation              = $true\n  CreateFolders                          = $true\n  DeleteFolders                          = $true\n  MoveAccountsAndFolders                 = $true\n}\n\n$Role1 | Add-PASSafeMember -SafeName NewSafe -MemberName a032485 -SearchIn Vault\n\nUserName SafeName Permissions\n-------- -------- -----------\na032485  NewSafe  @{useAccounts=True; retrieveAccounts=False; listAccounts=True;...\n\n$Role2 | Add-PASSafeMember -SafeName NewSafe -MemberName SafeAdmin1 -SearchIn Vault\n\nUserName   SafeName Permissions\n--------   -------- -----------\nSafeAdmin1 NewSafe  @{useAccounts=False; retrieveAccounts=False; listAccounts=Tr...\n````\n\n![Logo][Logo]\n\n#### PSM Sessions\n\n##### Terminate all Active PSM Sessions on a PSM Server\n\n````powershell\n#Find Active Sessions for a PSM Server IP\n#Terminate the Sessions\nGet-PASPSMSession | Where-Object{\n  ($_.RawProperties.ProviderID -eq $(Get-PASComponentDetail -ComponentID SessionManagement |\n    Where-Object{$_.ComponentIP -eq \"192.168.60.20\"} |\n    Select -ExpandProperty ComponentUserName))\n  -and ($_.IsLive) -and ($_.CanTerminate)} | Stop-PASPSMSession\n````\n\n![Logo][Logo]\n\n#### Updating Multiple Properties of an Account\n\n- Multiple updates can be performed in a single request:\n\n````powershell\n[array]$operations += @{\"op\"=\"remove\";\"path\"=\"/platformAccountProperties/LogonDomain\"}\n[array]$operations += @{\"op\"=\"replace\";\"path\"=\"/name\";\"value\"=\"SomeNewName\"}\n[array]$operations += @{\"op\"=\"replace\";\"path\"=\"/address\";\"value\"=\"domain.co.uk\"}\n\nSet-PASAccount -AccountID 286_4 -operations $operations\n\nAccountID        : 286_4\nSafe             : 3_TestSafe_028_XYJ\naddress          : domain.co.uk\nuserName         : sbwudlov\nname             : SomeNewName\nplatformId       : Z_WINDOMAIN_OFF\nsecretType       : password\nsecretManagement : @{automaticManagementEnabled=True; lastModifiedTime=1559864222}\ncreatedTime      : 06/06/2019 23:37:02\n````\n\n![Logo][Logo]\n\n#### Using Methods\n\nMethods present on objects returned from psPAS functions can be leveraged to get the data you need with ease.\n\n- The `psPAS.CyberArk.Vault.Safe` object returned by `Get-PASSafe` has a ScriptMethod (`SafeMembers()`), which will run a query for the members of the safe:\n\n```powershell\n#List all safes where AppUser is not a member\nGet-PASSafe | Where-Object{ ($_.safemembers() | Select-Object -ExpandProperty UserName) -notcontains \"AppUser\"}\n```\n\n- Retrieved credentials can be immediately converted into Secure Strings or into a PsCredential object:\n\n```powershell\n#Returns a Secure String\n(Get-PASAccount -id 330_5 | Get-PASAccountPassword).ToSecureString()\n\n#Returns a PsCredential Object\n(Get-PASAccount -id 330_5 | Get-PASAccountPassword).ToPsCredential()\n\n#Returns a PsCredential Object with a custom username (to include a domain for example)\n(Get-PASAccount -id 330_5 | Get-PASAccountPassword).ToPsCredential(\"MyDomain\\MyAccount\")\n```\n\n\n![Logo][Logo]\n\n#### API Sessions\n\n- If actions are required to be performed under the context of different user accounts, it is possible to work with different authenticated sessions:\n\n````powershell\n#Start first session\n$VaultAdmin = Get-Credential\n\nPowerShell credential request\nEnter your credentials.\nUser: VaultAdmin\nPassword for user VaultAdmin: **********\n\n\nNew-PASSession -Credential $VaultAdmin -BaseURI https://pvwa.somedomain.com\n\nGet-PASLoggedOnUser\n\nUserName   Source   UserTypeName AgentUser Expired Disabled Suspended\n--------   ------   ------------ --------- ------- -------- ---------\nVaultAdmin Internal EPVUser      False     False   False    False\n\n#Save first session data\n$FirstSession = Get-PASSession\n\n#Start second session\n$SafeAdmin = Get-Credential\n\nPowerShell credential request\nEnter your credentials.\nUser: SafeAdmin\nPassword for user SafeAdmin: **********\n\n\nNew-PASSession -Credential $SafeAdmin -BaseURI https://pvwa.somedomain.com\n\nGet-PASLoggedOnUser\n\nUserName  Source   UserTypeName AgentUser Expired Disabled Suspended\n--------  ------   ------------ --------- ------- -------- ---------\nSafeAdmin Internal EPVUser      False     False   False    False\n\n#Save second session data\n$SecondSession = Get-PASSession\n\n#Switch back to first session\nUse-PASSession -Session $FirstSession\n\nGet-PASLoggedOnUser\n\nUserName   Source   UserTypeName AgentUser Expired Disabled Suspended\n--------   ------   ------------ --------- ------- -------- ---------\nVaultAdmin Internal EPVUser      False     False   False    False\n\n#End first session\nClose-PASSession\n\n#Switch to second session\nUse-PASSession -Session $SecondSession\n\nGet-PASLoggedOnUser\n\nUserName  Source   UserTypeName AgentUser Expired Disabled Suspended\n--------  ------   ------------ --------- ------- -------- ---------\nSafeAdmin Internal EPVUser      False     False   False    False\n\n#End second session\nClose-PASSession\n````\n\n### Sample Scripts\n\nA selection of psPAS sample scripts can be found in the [psPAS-Examples](https://github.com/pspete/psPAS-Examples) repository.\n\n![Logo][Logo]\n\n## psPAS Functions\n\nThis section lists the commands available in psPAS as well as any relevant version requirements.\n\nDepending on your version of CyberArk, different psPAS commands and parameters are available.\n\nThe most recent psPAS version should work with your particular CyberArk version and be able to be used with it.\n\nThe version requirements for certain parameters are described in greater detail in the command's documentation.\n\nThe module will take steps to verify that your version of CyberArk meets any psPAS command's minimum version requirement.\n\nIf version requirement criteria are not met, operations may be prevented.\n\nTo learn more about the parameters that may be used and the required version, consult the output of the 'Get-Help' command for the 'psPAS' functions.\n\nClick the below dropdown to view the current list of psPAS functions and their minimum version requirements:\n\u003cdetails\u003e\n  \u003cSummary\u003e List of Functions \u003c/summary\u003e\n\n**Function Name**                                                                        |**CyberArk Version**|**Description**\n-----------------------------------------------------------------------------------------|--------------------|:----------------\n[`New-PASSession`][New-PASSession]                                                       |**9.0**             |Authenticates a user to CyberArk Vault\n[`Close-PASSession`][Close-PASSession]                                                   |**9.0**             |Logoff from CyberArk Vault.\n[`Get-PASSession`][Get-PASSession]                                                       |**---**             |Get `psPAS` Session Data.\n[`Use-PASSession`][Use-PASSession]                                                       |**---**             |Set `psPAS` Session Data.\n[`Add-PASPublicSSHKey`][Add-PASPublicSSHKey]                                             |**9.6**             |Adds an authorised public SSH key for a user.\n[`Get-PASPublicSSHKey`][Get-PASPublicSSHKey]                                             |**9.6**             |Retrieves a user's SSH Keys.\n[`Remove-PASPublicSSHKey`][Remove-PASPublicSSHKey]                                       |**9.6**             |Deletes a Public SSH Key from a user\n[`Add-PASAccountACL`][Add-PASAccountACL]                                                 |**9.0**             |Adds a new privileged command rule to an account.\n[`Get-PASAccountACL`][Get-PASAccountACL]                                                 |**9.0**             |Lists privileged commands rule for an account\n[`Remove-PASAccountACL`][Remove-PASAccountACL]                                           |**9.0**             |Deletes privileged commands rule from an account\n[`Add-PASAccountGroupMember`][Add-PASAccountGroupMember]                                 |**9.95**            |Adds an account as a member of an account group.\n[`Get-PASAccountGroup`][Get-PASAccountGroup]                                             |**9.10**            |Returns account groups in a Safe.\n[`Get-PASAccountGroupMember`][Get-PASAccountGroupMember]                                 |**9.10**            |Returns  members of an account group.\n[`New-PASAccountGroup`][New-PASAccountGroup]                                             |**9.95**            |Adds a new account group\n[`Remove-PASAccountGroupMember`][Remove-PASAccountGroupMember]                           |**9.10**            |Deletes a member of an account group\n[`Add-PASAccount`][Add-PASAccount]                                                       |**9.0**             |Adds a new account.\n[`Add-PASPendingAccount`][Add-PASPendingAccount]                                         |**9.7**             |Adds discovered account or SSH key as a pending account.\n[`Get-PASAccount`][Get-PASAccount]                                                       |**9.3**             |Returns information about accounts.\n[`Get-PASAccountActivity`][Get-PASAccountActivity]                                       |**9.7**             |Returns activities for an account.\n[`Get-PASAccountPassword`][Get-PASAccountPassword]                                       |**9.7**             |Returns password for an account.\n[`Remove-PASAccount`][Remove-PASAccount]                                                 |**9.3**             |Deletes an account\n[`Set-PASAccount`][Set-PASAccount]                                                       |**9.5**             |Updates details of an account.\n[`Invoke-PASCPMOperation`][Invoke-PASCPMOperation]                                       |**9.7**             |Invoke CPM verify, change \u0026 reconcile tasks.\n[`Unlock-PASAccount`][Unlock-PASAccount]                                                 |**9.10**            |Checks in an exclusive-use account.\n[`Add-PASApplication`][Add-PASApplication]                                               |**9.1**             |Adds a new application\n[`Add-PASApplicationAuthenticationMethod`][Add-PASApplicationAuthenticationMethod]       |**9.1**             |Add authentication method to an application\n[`Get-PASApplication`][Get-PASApplication]                                               |**9.1**             |Returns details of applications\n[`Get-PASApplicationAuthenticationMethod`][Get-PASApplicationAuthenticationMethod]       |**9.1**             |Returns application authentication methods\n[`Remove-PASApplication`][Remove-PASApplication]                                         |**9.1**             |Deletes an application\n[`Remove-PASApplicationAuthenticationMethod`][Remove-PASApplicationAuthenticationMethod] |**9.1**             |Delete auth method from an application\n[`Import-PASConnectionComponent`][Import-PASConnectionComponent]                         |**10.3**            |Imports a Connection Component\n[`New-PASPSMSession`][New-PASPSMSession]                                                 |**9.10**            |Get required parameters to connect through PSM\n[`Get-PASPSMRecording`][Get-PASPSMRecording]                                             |**9.10**            |Get details of PSM Recording\n[`Get-PASPSMSession`][Get-PASPSMSession]                                                 |**9.10**            |Get details of PSM Sessions\n[`Resume-PASPSMSession`][Resume-PASPSMSession]                                           |**10.2**            |Resumes a Suspended PSM Session.\n[`Stop-PASPSMSession`][Stop-PASPSMSession]                                               |**10.1**            |Terminates a PSM Session.\n[`Suspend-PASPSMSession`][Suspend-PASPSMSession]                                         |**10.2**            |Suspends a PSM Session.\n[`Get-PASOnboardingRule`][Get-PASOnboardingRule]                                         |**9.7**             |Gets automatic on-boarding rules\n[`New-PASOnboardingRule`][New-PASOnboardingRule]                                         |**9.7**             |Adds a new on-boarding rule\n[`Remove-PASOnboardingRule`][Remove-PASOnboardingRule]                                   |**9.7**             |Deletes an automatic on-boarding rule\n[`Get-PASPlatform`][Get-PASPlatform]                                                     |**9.10**            |Retrieves details of a specified platform.\n[`Import-PASPlatform`][Import-PASPlatform]                                               |**10.2**            |Import a new platform\n[`Export-PASPlatform`][Export-PASPlatform]                                               |**10.4**            |Export a  platform\n[`Add-PASPolicyACL`][Add-PASPolicyACL]                                                   |**9.0**             |Adds a new privileged command rule\n[`Get-PASPolicyACL`][Get-PASPolicyACL]                                                   |**9.0**             |Lists OPM Rules for a policy\n[`Remove-PASPolicyACL`][Remove-PASPolicyACL]                                             |**9.0**             |Delete privileged commands from policy\n[`Approve-PASRequest`][Approve-PASRequest]                                               |**9.10**            |Confirm a single request\n[`Deny-PASRequest`][Deny-PASRequest]                                                     |**9.10**            |Reject a single request\n[`Get-PASRequest`][Get-PASRequest]                                                       |**9.10**            |List requests\n[`Get-PASRequestDetail`][Get-PASRequestDetail]                                           |**9.10**            |Get request details\n[`New-PASRequest`][New-PASRequest]                                                       |**9.10**            |Creates an access request for an account\n[`Remove-PASRequest`][Remove-PASRequest]                                                 |**9.10**            |Deletes a request\n[`Add-PASSafeMember`][Add-PASSafeMember]                                                 |**9.3**             |Adds a Safe Member to a safe\n[`Get-PASSafeMember`][Get-PASSafeMember]                                                 |**9.7**             |Lists the members of a Safe\n[`Remove-PASSafeMember`][Remove-PASSafeMember]                                           |**9.3**             |Removes a member from a safe\n[`Set-PASSafeMember`][Set-PASSafeMember]                                                 |**9.3**             |Updates a Safe Member's Permissions\n[`Add-PASSafe`][Add-PASSafe]                                                             |**9.2**             |Adds a new safe\n[`Get-PASSafe`][Get-PASSafe]                                                             |**9.7**             |Returns safe details\n[`Remove-PASSafe`][Remove-PASSafe]                                                       |**9.3**             |Deletes a safe\n[`Set-PASSafe`][Set-PASSafe]                                                             |**9.3**             |Updates a safe\n[`Get-PASSafeShareLogo`][Get-PASSafeShareLogo]                                           |**9.7**             |Returns details of SafeShare Logo\n[`Get-PASServer`][Get-PASServer]                                                         |**9.7**             |Returns details of the Web Service Server\n[`Get-PASServerWebService`][Get-PASServerWebService]                                     |**9.7**             |Returns details of the Web Service\n[`Get-PASComponentDetail`][Get-PASComponentDetail]                                       |**10.1**            |Returns details about component instances.\n[`Get-PASComponentSummary`][Get-PASComponentSummary]                                     |**10.1**            |Returns consolidated information about components.\n[`Add-PASGroupMember`][Add-PASGroupMember]                                               |**9.7**             |Adds a user as a group member\n[`Get-PASLoggedOnUser`][Get-PASLoggedOnUser]                                             |**9.7**             |Returns details of the logged on user\n[`Get-PASUserLoginInfo`][Get-PASUserLoginInfo]                                           |**10.4**            |Returns login details of the current user\n[`Get-PASUser`][Get-PASUser]                                                             |**9.7**             |Returns details of a user\n[`New-PASUser`][New-PASUser]                                                             |**9.7**             |Creates a new user\n[`Remove-PASUser`][Remove-PASUser]                                                       |**9.7**             |Deletes a user\n[`Set-PASUser`][Set-PASUser]                                                             |**9.7**             |Updates a user\n[`Unblock-PASUser`][Unblock-PASUser]                                                     |**9.7**             |Activates a suspended user\n[`Get-PASDirectory`][Get-PASDirectory]                                                   |**10.4**            |Get configured LDAP directories\n[`Add-PASDirectory`][Add-PASDirectory]                                                   |**10.4**            |Add a new LDAP directory\n[`New-PASDirectoryMapping`][New-PASDirectoryMapping]                                     |**10.4**            |Create a new LDAP directory mapping\n[`Add-PASPTARule`][Add-PASPTARule]                                                       |**10.4**            |Add a new Risky Commandrule to PTA\n[`Get-PASPTAEvent`][Get-PASPTAEvent]                                                     |**10.3**            |Get security events from PTA\n[`Set-PASPTAEvent`][Set-PASPTAEvent]                                                     |**11.3**            |Set PTA security event status\n[`Get-PASPTARemediation`][Get-PASPTARemediation]                                         |**10.4**            |Get automatic response config from PTA\n[`Get-PASPTARule`][Get-PASPTARule]                                                       |**10.4**            |List Risky Command rules from PTA\n[`Set-PASPTARemediation`][Set-PASPTARemediation]                                         |**10.4**            |Update automaticresponse config in PTA\n[`Set-PASPTARule`][Set-PASPTARule]                                                       |**10.4**            |Update a Risky Commandrule in PTA\n[`Get-PASAccountDetail`][Get-PASAccountDetail]                                           |**10.4**            |Returns information about accounts.\n[`Get-PASGroup`][Get-PASGroup]                                                           |**10.5**            |Return group information\n[`Remove-PASGroupMember`][Remove-PASGroupMember]                                         |**10.5**            |Remove group members\n[`Set-PASOnboardingRule`][Set-PASOnboardingRule]                                         |**10.5**            |Update Onboarding Rules\n[`Add-PASDiscoveredAccount`][Add-PASDiscoveredAccount]                                   |**10.5**            |Add discovered accounts to the Accounts Feed\n[`Connect-PASPSMSession`][Connect-PASPSMSession]                                         |**10.5**            |Get required parameters to connect to a PSM Session\n[`Get-PASPSMSessionActivity`][Get-PASPSMSessionActivity]                                 |**10.6**            |Get activity details from an active PSM Session.\n[`Get-PASPSMSessionProperty`][Get-PASPSMSessionProperty]                                 |**10.6**            |Get property details from an active PSM Session.\n[`Get-PASPSMRecordingActivity`][Get-PASPSMRecordingActivity]                             |**10.6**            |Get activity details from a PSM Recording.\n[`Get-PASPSMRecordingProperty`][Get-PASPSMRecordingProperty]                             |**10.6**            |Get property details from a PSM Recording.\n[`Export-PASPSMRecording`][Export-PASPSMRecording]                                       |**10.6**            |Save PSM Session Recording to a file.\n[`Request-PASJustInTimeAccess`][Request-PASJustInTimeAccess]                             |**10.6**            |Request temporary access to a server.\n[`Revoke-PASJustInTimeAccess`][Revoke-PASJustInTimeAccess]                               |**12.0**            |Revoke temporary server access.\n[`Get-PASDirectoryMapping`][Get-PASDirectoryMapping]                                     |**10.7**            |Get details of configured directory mappings.\n[`Set-PASDirectoryMapping`][Set-PASDirectoryMapping]                                     |**10.7**            |Update a configured directory mapping.\n[`Remove-PASDirectory`][Remove-PASDirectory]                                             |**10.7**            |Delete a directory configuration.\n[`Find-PASSafe`][Find-PASSafe]                                                           |**10.1** - **11.7** |List or Search Safes by name.\n[`Set-PASDirectoryMappingOrder`][Set-PASDirectoryMappingOrder]                           |**10.10**           |Reorder Directory Mappings\n[`Set-PASUserPassword`][Set-PASUserPassword]                                             |**10.10**           |Reset a User's Password\n[`New-PASGroup`][New-PASGroup]                                                           |**11.1**            |Create a new CyberArk group\n[`Get-PASPlatformSafe`][Get-PASPlatformSafe]                                             |**11.1**            |List details for all platforms\n[`Remove-PASDirectoryMapping`][Remove-PASDirectoryMapping]                               |**11.1**            |Deletes a Directory Mapping\n[`Enable-PASCPMAutoManagement`][Enable-PASCPMAutoManagement]                             |**10.4**            |Enables Automatic CPM Management for an account\n[`Disable-PASCPMAutoManagement`][Disable-PASCPMAutoManagement]                           |**10.4**            |Disables Automatic CPM Management for an account\n[`Test-PASPSMRecording`][Test-PASPSMRecording]                                           |**11.2**            |Determine validity of PSM Session Recording\n[`Copy-PASPlatform`][Copy-PASPlatform]                                                   |**11.4**            |Duplicate a platform\n[`Enable-PASPlatform`][Enable-PASPlatform]                                               |**11.4**            |Enable a platform\n[`Disable-PASPlatform`][Disable-PASPlatform]                                             |**11.4**            |Disable a platform\n[`Remove-PASPlatform`][Remove-PASPlatform]                                               |**11.4**            |Delete a platform\n[`Remove-PASGroup`][Remove-PASGroup]                                                     |**11.5**            |Delete a user group\n[`Get-PASAllowedReferrer`][Get-PASAllowedReferrer]                                       |**11.5**            |List PVWA Allowed Referrer\n[`Add-PASAllowedReferrer`][Add-PASAllowedReferrer]                                       |**11.5**            |Add PVWA Allowed Referrer\n[`Get-PASAccountSSHKey`][Get-PASAccountSSHKey]                                           |**11.5**            |Get Private SSH Key value of Account\n[`Get-PASAuthenticationMethod`][Get-PASAuthenticationMethod]                             |**11.5**            |List authentication methods\n[`Add-PASAuthenticationMethod`][Add-PASAuthenticationMethod]                             |**11.5**            |Add authentication method\n[`Set-PASAuthenticationMethod`][Set-PASAuthenticationMethod]                             |**11.5**            |Update authentication method\n[`Get-PASConnectionComponent`][Get-PASConnectionComponent]                               |**11.5**            |List configured connection components\n[`Get-PASPSMServer`][Get-PASPSMServer]                                                   |**11.5**            |List configured PSM Servers\n[`Get-PASPlatformPSMConfig`][Get-PASPlatformPSMConfig]                                   |**11.5**            |List Platform PSM configuration\n[`Set-PASPlatformPSMConfig`][Set-PASPlatformPSMConfig]                                   |**11.5**            |Update Platform PSM configuration\n[`Start-PASAccountImportJob`][Start-PASAccountImportJob]                                 |**11.6**            |Add multiple accounts to existing Safes.\n[`Get-PASAccountImportJob`][Get-PASAccountImportJob]                                     |**11.6**            |Get status of account import\n[`New-PASAccountObject`][New-PASAccountObject]                                           |**---**             |Format an object to include in an import list\n[`Get-PASDiscoveredAccount`][Get-PASDiscoveredAccount]                                   |**11.6**            |List discovered accounts\n[`Add-PASOpenIDConnectProvider`][Add-PASOpenIDConnectProvider]                           |**11.7**            |Adds an OIDC Authentication Provider\n[`Get-PASOpenIDConnectProvider`][Get-PASOpenIDConnectProvider]                           |**11.7**            |Gets details of configured OIDC Authentication Providers\n[`Remove-PASOpenIDConnectProvider`][Remove-PASOpenIDConnectProvider]                     |**11.7**            |Deletes an OIDC Authentication Provider\n[`Set-PASOpenIDConnectProvider`][Set-PASOpenIDConnectProvider]                           |**11.7**            |Updates an OIDC Authentication Provider\n[`Remove-PASAuthenticationMethod`][Remove-PASAuthenticationMethod]                       |**11.7**            |Delete an authentication method\n[`Clear-PASDiscoveredAccountList`][Clear-PASDiscoveredAccountList]                       |**12.1**            |Clear all discovered accounts from the pending account list\n[`Get-PASAccountPasswordVersion`][Get-PASAccountPasswordVersion]                         |**12.1**            |Get details of previous password versions\n[`New-PASAccountPassword`][New-PASAccountPassword]                                       |**12.0**            |Generate new password values based on platform policy\n[`Set-PASLinkedAccount`][Set-PASLinkedAccount]                                           |**12.1**            |Associate logon and reconcile accounts\n[`Clear-PASLinkedAccount`][Clear-PASLinkedAccount]                                       |**12.2**            |Clear associated linked accounts\n[`Clear-PASPrivateSSHKey`][Clear-PASPrivateSSHKey]                                       |**12.1**            |Remove all MFA caching SSH Keys\n[`New-PASPrivateSSHKey`][New-PASPrivateSSHKey]                                           |**12.1**            |Generate MFA caching SSH Keys\n[`Remove-PASPrivateSSHKey`][Remove-PASPrivateSSHKey]                                     |**12.1**            |Delete MFA caching SSH Keys\n[`Set-PASGroup`][Set-PASGroup]                                                           |**12.0**            |Update CyberArk groups\n[`Get-PASPlatformSummary`][Get-PASPlatformSummary]                                       |**12.2**            |Get information on platform system types\n[`Enable-PASUser`][Enable-PASUser]                                                       |**12.6**            |Enable CyberArk Users\n[`Disable-PASUser`][Disable-PASUser]                                                     |**12.6**            |Disable CyberArk Users\n[`Publish-PASDiscoveredAccount`][Publish-PASDiscoveredAccount]                           |**12.6**            |Onboard Discovered Accounts\n[`Get-PASLinkedAccount`][Get-PASLinkedAccount]                                           |**12.2**            |Get details of linked accounts\n[`Get-PASLinkedGroup`][Get-PASLinkedGroup]                                               |**12.2**            |Get details of linked groups\n[`Add-PASPersonalAdminAccount`][Add-PASPersonalAdminAccount]                             |**12.6**            |Add Personal Admin Account (Privilege Cloud Only).\n[`Get-PASPTAGlobalCatalog`][Get-PASPTAGlobalCatalog]                                     |**13.0**            |Get Global Catalog connectivity details for PTA.\n[`Add-PASPTAGlobalCatalog`][Add-PASPTAGlobalCatalog]                                     |**13.0**            |Add Global Catalog connectivity details to PTA.\n[`Get-PASUserTypeInfo`][Get-PASUserTypeInfo]                                             |**13.2**            |Get User Type Info\n[`Get-PASPTARiskEvent`][Get-PASPTARiskEvent]                                             |**13.2**            |Get PTA Risk Events\n[`Set-PASPTARiskEvent`][Set-PASPTARiskEvent]                                             |**13.2**            |Update PTA Risk Events\n[`Get-PASPTARiskSummary`][Get-PASPTARiskSummary]                                         |**13.2**            |Get PTA Risk Summary\n[`New-PASRequestObject`][New-PASRequestObject]                                           |**---**             |Format an object to include in an request list\n[`Add-PASPTAIncludedTarget`][Add-PASPTAIncludedTarget]                                   |**14.0**            |Includes a PTA Monitored Target\n[`Add-PASPTAExcludedTarget`][Add-PASPTAExcludedTarget]                                   |**14.0**            |Excludes a PTA Monitored Target\n[`Add-PASPTAPrivilegedGroup`][Add-PASPTAPrivilegedGroup]                                 |**14.0**            |Configures a PTA Privileged Group\n[`Add-PASPTAPrivilegedUser`][Add-PASPTAPrivilegedUser]                                   |**14.0**            |Configures a PTA Privileged User\n[`Get-PASPTAExcludedTarget`][Get-PASPTAExcludedTarget]                                   |**14.0**            |Get PTA Excluded Target\n[`Get-PASPTAIncludedTarget`][Get-PASPTAIncludedTarget]                                   |**14.0**            |Get PTA Included target\n[`Get-PASPTAPrivilegedGroup`][Get-PASPTAPrivilegedGroup]                                 |**14.0**            |Get PTA Privileged Group\n[`Get-PASPTAPrivilegedUser`][Get-PASPTAPrivilegedUser]                                   |**14.0**            |Get PTA Privileged User\n[`Remove-PASPTAExcludedTarget`][Remove-PASPTAExcludedTarget]                             |**14.0**            |Remove PTA Excluded Target\n[`Remove-PASPTAIncludedTarget`][Remove-PASPTAIncludedTarget]                             |**14.0**            |Remove PTA Included Target\n[`Remove-PASPTAPrivilegedGroup`][Remove-PASPTAPrivilegedGroup]                           |**14.0**            |Remove PTA Privileged Group\n[`Remove-PASPTAPrivilegedUser`][Remove-PASPTAPrivilegedUser]                             |**14.0**            |Remove PTA Privileged User\n[`Set-PASIPAllowList`][Set-PASIPAllowList]                                               |**P Cloud Only**    |Set P Cloud IP Allow List\n[`Get-PASIPAllowList`][Get-PASIPAllowList]                                               |**P Cloud Only**    |Get P Cloud IP Allow List\n[`Get-PASBYOKConfig`][Get-PASBYOKConfig]                                                 |**P Cloud Only**    |Get P Cloud BYOK Config\n[`Publish-PASDiscoveredLocalAccount`][Publish-PASDiscoveredLocalAccount]                 |**P Cloud Only**    |Publish P Cloud Discovered Local Account\n[`Remove-PASDiscoveredLocalAccount`][Remove-PASDiscoveredLocalAccount]                   |**P Cloud Only**    |Delete  P Cloud Discovered Local Account\n[`Get-PASDiscoveredLocalAccountActivity`][Get-PASDiscoveredLocalAccountActivity]         |**P Cloud Only**    |Get  P Cloud Discovered Local Account Activity\n[`Get-PASDiscoveredLocalAccount`][Get-PASDiscoveredLocalAccount]                         |**P Cloud Only**    |Get  P Cloud Discovered Local Account\n[`Clear-PASDiscoveredLocalAccount`][Clear-PASDiscoveredLocalAccount]                     |**P Cloud Only**    |Clear all  P Cloud Discovered Local Accounts\n[`Add-PASDiscoveredLocalAccount`][Add-PASDiscoveredLocalAccount]                         |**P Cloud Only**    |Add  P Cloud Discovered Local Account\n\n[Get-PASIPAllowList]:/psPAS/Functions/IPALlowList/Get-PASIPAllowList\n[Set-PASIPAllowList]:/psPAS/Functions/IPALlowList/Set-PASIPAllowList\n[Get-PASBYOKConfig]:/psPAS/Functions/BYOK/Get-PASBYOKConfig\n[Publish-PASDiscoveredLocalAccount]:/psPAS/Functions/Accounts/Publish-PASDiscoveredLocalAccount\n[Get-PASDiscoveredLocalAccountActivity]:/psPAS/Functions/Accounts/Get-PASDiscoveredLocalAccountActivity\n[Get-PASDiscoveredLocalAccount]:/psPAS/Functions/Accounts/Get-PASDiscoveredLocalAccount\n[Clear-PASDiscoveredLocalAccount]:/psPAS/Functions/Accounts/Clear-PASDiscoveredLocalAccount\n[Add-PASDiscoveredLocalAccount]:/psPAS/Functions/Accounts/Add-PASDiscoveredLocalAccount\n[Remove-PASDiscoveredLocalAccount]:/psPAS/Functions/Accounts/Remove-PASDiscoveredLocalAccount\n[Add-PASPTAExcludedTarget]:/psPAS/Functions/EventSecurity/Add-PASPTAExcludedTarget.ps1\n[Add-PASPTAIncludedTarget]:/psPAS/Functions/EventSecurity/Add-PASPTAIncludedTarget.ps1\n[Add-PASPTAPrivilegedGroup]:/psPAS/Functions/EventSecurity/Add-PASPTAPrivilegedGroup.ps1\n[Add-PASPTAPrivilegedUser]:/psPAS/Functions/EventSecurity/Add-PASPTAPrivilegedUser.ps1\n[Get-PASPTAExcludedTarget]:/psPAS/Functions/EventSecurity/Get-PASPTAExcludedTarget.ps1\n[Get-PASPTAIncludedTarget]:/psPAS/Functions/EventSecurity/Get-PASPTAIncludedTarget.ps1\n[Get-PASPTAPrivilegedGroup]:/psPAS/Functions/EventSecurity/Get-PASPTAPrivilegedGroup.ps1\n[Get-PASPTAPrivilegedUser]:/psPAS/Functions/EventSecurity/Get-PASPTAPrivilegedUser.ps1\n[Remove-PASPTAExcludedTarget]:/psPAS/Functions/EventSecurity/Remove-PASPTAExcludedTarget.ps1\n[Remove-PASPTAIncludedTarget]:/psPAS/Functions/EventSecurity/Remove-PASPTAIncludedTarget.ps1\n[Remove-PASPTAPrivilegedGroup]:/psPAS/Functions/EventSecurity/Remove-PASPTAPrivilegedGroup.ps1\n[Remove-PASPTAPrivilegedUser]:/psPAS/Functions/EventSecurity/Remove-PASPTAPrivilegedUser.ps1\n[New-PASRequestObject]:/psPAS/Functions/Requests/New-PASRequestObject.ps1\n[Get-PASUserTypeInfo]:/psPAS/Functions/User/Get-PASUserTypeInfo.ps1\n[Get-PASPTARiskEvent]:/psPAS/Functions/EventSecurity/Get-PASPTARiskEvent.ps1\n[Set-PASPTARiskEvent]:/psPAS/Functions/EventSecurity/Set-PASPTARiskEvent.ps1\n[Get-PASPTARiskSummary]:/psPAS/Functions/EventSecurity/Get-PASPTARiskSummary.ps1\n[Get-PASPTAGlobalCatalog]:/psPAS/Functions/EventSecurity/Get-PASPTAGlobalCatalog.ps1\n[Add-PASPTAGlobalCatalog]:/psPAS/Functions/EventSecurity/Add-PASPTAGlobalCatalog.ps1\n[Disable-PASUser]:/psPAS/Functions/User/Disable-PASUser.ps1\n[Enable-PASUser]:/psPAS/Functions/User/Enable-PASUser.ps1\n[Get-PASLinkedAccount]:/psPAS/Functions/Accounts/Get-PASLinkedAccount.ps1\n[Get-PASLinkedGroup]:/psPAS/Functions/Accounts/Get-PASLinkedGroup.ps1\n[Add-PASPersonalAdminAccount]:/psPAS/Functions/Accounts/Add-PASPersonalAdminAccount.ps1\n[Publish-PASDiscoveredAccount]:/psPAS/Functions/Accounts/Publish-PASDiscoveredAccount.ps1\n[Get-PASPlatformSummary]:/psPAS/Functions/Platforms/Get-PASPlatformSummary.ps1\n[Add-PASOpenIDConnectProvider]:/psPAS/Functions/Authentication/Add-PASOpenIDConnectProvider.ps1\n[Get-PASOpenIDConnectProvider]:/psPAS/Functions/Authentication/Get-PASOpenIDConnectProvider.ps1\n[Remove-PASOpenIDConnectProvider]:/psPAS/Functions/Authentication/Remove-PASOpenIDConnectProvider.ps1\n[Set-PASOpenIDConnectProvider]:/psPAS/Functions/Authentication/Set-PASOpenIDConnectProvider.ps1\n[Remove-PASAuthenticationMethod]:/psPAS/Functions/Authentication/Remove-PASAuthenticationMethod.ps1\n[Get-PASDiscoveredAccount]:/psPAS/Functions/Accounts/Get-PASDiscoveredAccount.ps1\n[Start-PASAccountImportJob]:/psPAS/Functions/Accounts/Start-PASAccountImportJob.ps1\n[Get-PASAccountImportJob]:/psPAS/Functions/Accounts/Get-PASAccountImportJob.ps1\n[New-PASAccountObject]:/psPAS/Functions/Accounts/New-PASAccountObject.ps1\n[Get-PASAllowedReferrer]:/psPAS/Functions/General/Get-PASAllowedReferrer.ps1\n[Add-PASAllowedReferrer]:/psPAS/Functions/General/Add-PASAllowedReferrer.ps1\n[Get-PASAccountSSHKey]:/psPAS/Functions/Accounts/Get-PASAccountSSHKey.ps1\n[Get-PASAuthenticationMethod]:/psPAS/Functions/Authentication/Get-PASAuthenticationMethod.ps1\n[Add-PASAuthenticationMethod]:/psPAS/Functions/Authentication/Add-PASAuthenticationMethod.ps1\n[Set-PASAuthenticationMethod]:/psPAS/Functions/Authentication/Set-PASAuthenticationMethod.ps1\n[Get-PASConnectionComponent]:/psPAS/Functions/Connections/Get-PASConnectionComponent.ps1\n[Get-PASPSMServer]:/psPAS/Functions/Connections/Get-PASPSMServer.ps1\n[Get-PASPlatformPSMConfig]:/psPAS/Functions/Platforms/Get-PASPlatformPSMConfig.ps1\n[Set-PASPlatformPSMConfig]:/psPAS/Functions/Platforms/Set-PASPlatformPSMConfig.ps1\n[New-PASSession]:/psPAS/Functions/Authentication/New-PASSession.ps1\n[Close-PASSession]:/psPAS/Functions/Authentication/Close-PASSession.ps1\n[Get-PASSession]:/psPAS/Functions/Authentication/Get-PASSession.ps1\n[Use-PASSession]:/psPAS/Functions/Authentication/Use-PASSession.ps1\n[Add-PASPublicSSHKey]:/psPAS/Functions/Authentication/Add-PASPublicSSHKey.ps1\n[Get-PASPublicSSHKey]:/psPAS/Functions/Authentication/Get-PASPublicSSHKey.ps1\n[Remove-PASPublicSSHKey]:/psPAS/Functions/Authentication/Remove-PASPublicSSHKey.ps1\n[Add-PASAccountACL]:/psPAS/Functions/AccountACL/Add-PASAccountACL.ps1\n[Get-PASAccountACL]:/psPAS/Functions/AccountACL/Get-PASAccountACL.ps1\n[Remove-PASAccountACL]:/psPAS/Functions/AccountACL/Remove-PASAccountACL.ps1\n[Add-PASAccountGroupMember]:/psPAS/Functions/AccountGroups/Add-PASAccountGroupMember.ps1\n[Get-PASAccountGroup]:/psPAS/Functions/AccountGroups/Get-PASAccountGroup.ps1\n[Get-PASAccountGroupMember]:/psPAS/Functions/AccountGroups/Get-PASAccountGroupMember.ps1\n[New-PASAccountGroup]:/psPAS/Functions/AccountGroups/New-PASAccountGroup.ps1\n[Remove-PASAccountGroupMember]:/psPAS/Functions/AccountGroups/Remove-PASAccountGroupMember.ps1\n[Add-PASAccount]:/psPAS/Functions/Accounts/Add-PASAccount.ps1\n[Add-PASPendingAccount]:/psPAS/Functions/Accounts/Add-PASPendingAccount.ps1\n[Get-PASAccount]:/psPAS/Functions/Accounts/Get-PASAccount.ps1\n[Get-PASAccountDetail]:/psPAS/Functions/Accounts/Get-PASAccountDetail.ps1\n[Get-PASAccountActivity]:/psPAS/Functions/Accounts/Get-PASAccountActivity.ps1\n[Get-PASAccountPassword]:/psPAS/Functions/Accounts/Get-PASAccountPassword.ps1\n[Remove-PASAccount]:/psPAS/Functions/Accounts/Remove-PASAccount.ps1\n[Set-PASAccount]:/psPAS/Functions/Accounts/Set-PASAccount.ps1\n[Unlock-PASAccount]:/psPAS/Functions/Accounts/Unlock-PASAccount.ps1\n[Add-PASApplication]:/psPAS/Functions/Applications/Add-PASApplication.ps1\n[Add-PASApplicationAuthenticationMethod]:/psPAS/Functions/Applications/Add-PASApplicationAuthenticationMethod.ps1\n[Get-PASApplication]:/psPAS/Functions/Applications/Get-PASApplication.ps1\n[Get-PASApplicationAuthenticationMethod]:/psPAS/Functions/Applications/Get-PASApplicationAuthenticationMethod.ps1\n[Remove-PASApplication]:/psPAS/Functions/Applications/Remove-PASApplication.ps1\n[Remove-PASApplicationAuthenticationMethod]:/psPAS/Functions/Applications/Remove-PASApplicationAuthenticationMethod.ps1\n[Import-PASConnectionComponent]:/psPAS/Functions/Connections/Import-PASConnectionComponent.ps1\n[New-PASPSMSession]:/psPAS/Functions/Connections/New-PASPSMSession.ps1\n[Get-PASPSMRecording]:/psPAS/Functions/Monitoring/Get-PASPSMRecording.ps1\n[Get-PASPSMSession]:/psPAS/Functions/Monitoring/Get-PASPSMSession.ps1\n[Resume-PASPSMSession]:/psPAS/Functions/Monitoring/Resume-PASPSMSession.ps1\n[Stop-PASPSMSession]:/psPAS/Functions/Monitoring/Stop-PASPSMSession.ps1\n[Suspend-PASPSMSession]:/psPAS/Functions/Monitoring/Suspend-PASPSMSession.ps1\n[Get-PASOnboardingRule]:/psPAS/Functions/OnboardingRules/Get-PASOnboardingRule.ps1\n[New-PASOnboardingRule]:/psPAS/Functions/OnboardingRules/New-PASOnboardingRule.ps1\n[Remove-PASOnboardingRule]:/psPAS/Functions/OnboardingRules/Remove-PASOnboardingRule.ps1\n[Get-PASPlatform]:/psPAS/Functions/Platforms/Get-PASPlatform.ps1\n[Import-PASPlatform]:/psPAS/Functions/Platforms/Import-PASPlatform.ps1\n[Export-PASPlatform]:/psPAS/Functions/Platforms/Export-PASPlatform.ps1\n[Add-PASPolicyACL]:/psPAS/Functions/PolicyACL/Add-PASPolicyACL.ps1\n[Get-PASPolicyACL]:/psPAS/Functions/PolicyACL/Get-PASPolicyACL.ps1\n[Remove-PASPolicyACL]:/psPAS/Functions/PolicyACL/Remove-PASPolicyACL.ps1\n[Approve-PASRequest]:/psPAS/Functions/Requests/Approve-PASRequest.ps1\n[Deny-PASRequest]:/psPAS/Functions/Requests/Deny-PASRequest.ps1\n[Get-PASRequest]:/psPAS/Functions/Requests/Get-PASRequest.ps1\n[Get-PASRequestDetail]:/psPAS/Functions/Requests/Get-PASRequestDetail.ps1\n[New-PASRequest]:/psPAS/Functions/Requests/New-PASRequest.ps1\n[Remove-PASRequest]:/psPAS/Functions/Requests/Remove-PASRequest.ps1\n[Add-PASSafeMember]:/psPAS/Functions/SafeMembers/Add-PASSafeMember.ps1\n[Get-PASSafeMember]:/psPAS/Functions/SafeMembers/Get-PASSafeMember.ps1\n[Remove-PASSafeMember]:/psPAS/Functions/SafeMembers/Remove-PASSafeMember.ps1\n[Set-PASSafeMember]:/psPAS/Functions/SafeMembers/Set-PASSafeMember.ps1\n[Add-PASSafe]:/psPAS/Functions/Safes/Add-PASSafe.ps1\n[Get-PASSafe]:/psPAS/Functions/Safes/Get-PASSafe.ps1\n[Remove-PASSafe]:/psPAS/Functions/Safes/Remove-PASSafe.ps1\n[Set-PASSafe]:/psPAS/Functions/Safes/Set-PASSafe.ps1\n[Get-PASSafeShareLogo]:/psPAS/Functions/ServerWebServices/Get-PASSafeShareLogo.ps1\n[Get-PASServer]:/psPAS/Functions/ServerWebServices/Get-PASServer.ps1\n[Get-PASServerWebService]:/psPAS/Functions/ServerWebServices/Get-PASServerWebService.ps1\n[Get-PASComponentDetail]:/psPAS/Functions/SystemHealth/Get-PASComponentDetail.ps1\n[Get-PASComponentSummary]:/psPAS/Functions/SystemHealth/Get-PASComponentSummary.ps1\n[Add-PASGroupMember]:/psPAS/Functions/User/Add-PASGroupMember.ps1\n[Get-PASLoggedOnUser]:/psPAS/Functions/User/Get-PASLoggedOnUser.ps1\n[Get-PASUserLoginInfo]:/psPAS/Functions/User/Get-PASUserLoginInfo.ps1\n[Get-PASUser]:/psPAS/Functions/User/Get-PASUser.ps1\n[New-PASUser]:/psPAS/Functions/User/New-PASUser.ps1\n[Remove-PASUser]:/psPAS/Functions/User/Remove-PASUser.ps1\n[Set-PASUser]:/psPAS/Functions/User/Set-PASUser.ps1\n[Unblock-PASUser]:/psPAS/Functions/User/Unblock-PASUser.ps1\n[Get-PASDirectory]:/psPAS/Functions/LDAPDirectories/Get-PASDirectory.ps1\n[Add-PASDirectory]:/psPAS/Functions/LDAPDirectories/Add-PASDirectory.ps1\n[New-PASDirectoryMapping]:/psPAS/Functions/LDAPDirectories/New-PASDirectoryMapping.ps1\n[Add-PASPTARule]:/psPAS/Functions/EventSecurity/Add-PASPTARule.ps1\n[Get-PASPTAEvent]:/psPAS/Functions/EventSecurity/Get-PASPTAEvent.ps1\n[Set-PASPTAEvent]:/psPAS/Functions/EventSecurity/Set-PASPTAEvent.ps1\n[Get-PASPTARemediation]:/psPAS/Functions/EventSecurity/Get-PASPTARemediation.ps1\n[Get-PASPTARule]:/psPAS/Functions/EventSecurity/Get-PASPTARule.ps1\n[Set-PASPTARemediation]:/psPAS/Functions/EventSecurity/Set-PASPTARemediation.ps1\n[Set-PASPTARule]:/psPAS/Functions/EventSecurity/Set-PASPTARule.ps1\n[Get-PASGroup]:/psPAS/Functions/User/Get-PASGroup.ps1\n[Remove-PASGroupMember]:/psPAS/Functions/User/Remove-PASGroupMember.ps1\n[Set-PASOnboardingRule]:/psPAS/Functions/OnboardingRules/Set-PASOnboardingRule.ps1\n[Add-PASDiscoveredAccount]:/psPAS/Functions/Accounts/Add-PASDiscoveredAccount.ps1\n[Connect-PASPSMSession]:/psPAS/Functions/Monitoring/Connect-PASPSMSession.ps1\n[Get-PASPSMSessionActivity]:/psPAS/Functions/Monitoring/Get-PASPSMSessionActivity.ps1\n[Get-PASPSMSessionProperty]:/psPAS/Functions/Monitoring/Get-PASPSMSessionProperty.ps1\n[Get-PASPSMRecordingActivity]:/psPAS/Functions/Monitoring/Get-PASPSMRecordingActivity.ps1\n[Get-PASPSMRecordingProperty]:/psPAS/Functions/Monitoring/Get-PASPSMRecordingProperty.ps1\n[Export-PASPSMRecording]:/psPAS/Functions/Monitoring/Export-PASPSMRecording.ps1\n[Request-PASJustInTimeAccess]:/psPAS/Functions/Accounts/Request-PASJustInTimeAccess.ps1\n[Revoke-PASJustInTimeAccess]:/psPAS/Functions/Accounts/Revoke-PASJustInTimeAccess.ps1\n[Get-PASDirectoryMapping]:/psPAS/Functions/LDAPDirectories/Get-PASDirectoryMapping.ps1\n[Set-PASDirectoryMapping]:/psPAS/Functions/LDAPDirectories/Set-PASDirectoryMapping.ps1\n[Remove-PASDirectory]:/psPAS/Functions/LDAPDirectories/Remove-PASDirectory.ps1\n[Find-PASSafe]:/psPAS/Functions/Safes/Find-PASSafe.ps1\n[Invoke-PASCPMOperation]:/psPAS/Functions/Accounts/Invoke-PASCPMOperation.ps1\n[Set-PASDirectoryMappingOrder]:/psPAS/Functions/LDAPDirectories/Set-PASDirectoryMappingOrder.ps1\n[Set-PASUserPassword]:/psPAS/Functions/User/Set-PASUserPassword.ps1\n[Disable-PASCPMAutoManagement]:/psPAS/Functions/Accounts/Disable-PASCPMAutoManagement.ps1\n[Enable-PASCPMAutoManagement]:/psPAS/Functions/Accounts/Enable-PASCPMAutoManagement.ps1\n[Remove-PASDirectoryMapping]:/psPAS/Functions/LDAPDirectories/Remove-PASDirectoryMapping.ps1\n[Get-PASPlatformSafe]:/psPAS/Functions/Platforms/Get-PASPlatformSafe.ps1\n[New-PASGroup]:/psPAS/Functions/User/New-PASGroup.ps1\n[Test-PASPSMRecording]:/psPAS/Functions/Monitoring/Test-PASPSMRecording.ps1\n[Copy-PASPlatform]:psPAS/Functions/Platforms/Copy-PASPlatform.ps1\n[Disable-PASPlatform]:psPAS/Functions/Platforms/Disable-PASPlatform.ps1\n[Enable-PASPlatform]:psPAS/Functions/Platforms/Enable-PASPlatform.ps1\n[Remove-PASPlatform]:psPAS/Functions/Platforms/Remove-PASPlatform.ps1\n[Remove-PASGroup]:psPAS/Functions/User/Remove-PASGroup.ps1\n[Clear-PASDiscoveredAccountList]:/psPAS/Functions/Accounts/Clear-PASDiscoveredAccountList.ps1\n[Get-PASAccountPasswordVersion]:/psPAS/Functions/Accounts/Get-PASAccountPasswordVersion.ps1\n[New-PASAccountPassword]:/psPAS/Functions/Accounts/New-PASAccountPassword.ps1\n[Set-PASLinkedAccount]:/psPAS/Functions/Accounts/Set-PASLinkedAccount.ps1\n[Clear-PASLinkedAccount]:/psPAS/Functions/Accounts/Clear-PASLinkedAccount.ps1\n[Clear-PASPrivateSSHKey]:/psPAS/Functions/Authentication/Clear-PASPrivateSSHKey.ps1\n[New-PASPrivateSSHKey]:/psPAS/Functions/Authentication/New-PASPrivateSSHKey.ps1\n[Remove-PASPrivateSSHKey]:/psPAS/Functions/Authentication/Remove-PASPrivateSSHKey.ps1\n[Set-PASGroup]:/psPAS/Functions/User/Set-PASGroup.ps1\n\u003c/details\u003e\n\n## Installation\n\n![Logo][Logo]\n\n### Prerequisites\n\n- PowerShell Core, or Windows Powershell v5 (minimum)\n- CyberArk PAS REST API/PVWA Web Service (available and accessible over HTTPS using TLS 1.2)\n- A user who can authenticate and has the necessary Vault/Safe permissions.\n\n### Install Options\n\nUsers can download psPAS from GitHub or the PowerShell Gallery.\n\nChoose any of the following ways to download the module and install it:\n\n#### Option 1: Install from PowerShell Gallery\n\nThis is the easiest and most popular way to install the module.\n\n**PowerShell 5.0 or above** must be used to download the module from the [PowerShell Gallery](https://www.powershellgallery.com/packages/psPAS/).\n\n1. Open a PowerShell prompt\n\n2. Execute the following command:\n\n```powershell\nInstall-Module -Name psPAS -Scope CurrentUser\n```\n\n#### Option 2: Manual Install\n\nThe module files can be manually copied to one of your PowerShell module directories.\n\nUse the following command to get the paths to your local PowerShell module folders:\n\n```powershell\n\n$env:PSModulePath.split(';')\n\n```\n\nThe module files must be placed in one of the listed directories, in a folder called `psPAS`.\n\nMore: [about_PSModulePath](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_psmodulepath)\n\nThe module files are available to download using a variety of methods:\n\n##### PowerShell Gallery\n\n- Download from the module from the [PowerShell Gallery](https://www.powershellgallery.com/packages/psPAS/):\n  - Run the PowerShell command `Save-Module -Name psPAS -Path C:\\temp`\n  - Copy the `C:\\temp\\psPAS` folder to your \"Powershell Modules\" directory of choice.\n\n##### psPAS Release\n\n- [Download the latest GitHub release](https://github.com/pspete/psPAS/releases/latest)\n  - Unblock \u0026 Extract the archive\n  - Rename the extracted `psPAS-v#.#.#` folder to `psPAS`\n  - Copy the `psPAS` folder to your \"Powershell Modules\" directory of choice.\n\n##### psPAS Branch\n\n- [Download ```GitHub Branch```](https://github.com/pspete/psPAS/archive/master.zip)\n  - Unblock \u0026 Extract the archive\n  - Copy the `psPAS` (`\\\u003cArchive Root\u003e\\psPAS-master\\psPAS`) folder to your \"Powershell Modules\" directory of choice.\n\n#### Verification\n\nValidate Install:\n\n```powershell\n\nGet-Module -ListAvailable psPAS\n\n```\n\nImport the module:\n\n```powershell\n\nImport-Module psPAS\n\n```\n\nList Module Commands:\n\n```powershell\n\nGet-Command -Module psPAS\n\n```\n\nGet detailed information on specific commands:\n\n```powershell\n\nGet-Help New-PASUser -Full\n\n```\n\n![Logo][Logo]\n\n## Sponsorship\n\nPlease support continued psPAS development; consider sponsoring \u003ca href=\"https://github.com/sponsors/pspete\"\u003e @pspete on GitHub Sponsors\u003c/a\u003e\n\n## Changelog\n\nAll notable changes to this project will be documented in the [Changelog](CHANGELOG.md)\n\n## Author\n\n- **Pete Maan** - [pspete](https://github.com/pspete)\n\n## License\n\nThis project is [licensed under the MIT License](LICENSE.md).\n\n## Contributing\n\nAny and all contributions to this project are appreciated.\n\nSee the [CONTRIBUTING.md](CONTRIBUTING.md) for a few more details.\n\n## Support\n\npsPAS is neither developed nor supported by CyberArk; any official support channels offered by the vendor are not appropriate for seeking help with the psPAS module.\n\nHelp and support should be sought by [opening an issue][new-issue], or emailing \u003ca href=\"mailto:pspas@pspete.dev\"\u003epspas@pspete.dev\u003c/a\u003e.\n\n[new-issue]: https://github.com/pspete/psPAS/issues/new\n\nPriority support could be considered for \u003ca href=\"https://github.com/sponsors/pspete\"\u003esponsors of @pspete\u003c/a\u003e, \u003ca href=\"mailto:pspas@pspete.dev\"\u003econtact us\u003c/a\u003e to discuss options.\n\n## Acknowledgements\n\nHat Tips:\n\n**Joe Garcia** ([infamousjoeg](https://github.com/infamousjoeg))\nfor the unofficial API documentation, general API wizardry \u0026 knowledge sharing.\n\n**Jesse McWilliams**\n([JesseMcWilliamss](https://github.com/JesseMcWilliams))\nFor the information needed to add PKIPN authentication into `New-PASSession`\n\n**Wojciech Ossowski**\n([Qrelis](https://github.com/Qrelis))\nFor sharing the details of the account unlock API.\n\n**Allyn Lindsay**\n([allynl93](https://github.com/allynl93))\nfor [PS-SAML-Interactive](https://github.com/allynl93/PS-SAML-Interactive)\n\n**Assaf Miron**\n([AssafMiron](https://github.com/AssafMiron))\nFor the JSON formatting assistance.\n\n**Warren Frame**\n([RamblingCookieMonster](https://github.com/RamblingCookieMonster)) for [Add-ObjectDetail.ps1](https://github.com/RamblingCookieMonster/PowerShell/blob/master/Add-ObjectDetail.ps1).\n\nChapeau!\n\n![Logo][Logo]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpspete%2FpsPAS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpspete%2FpsPAS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpspete%2FpsPAS/lists"}