psPAS.Types.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Types>
    <Type>
        <Name>psPAS.CyberArk.Vault.Account.V10</Name>
        <Members>
            <ScriptMethod>
                <Name>GetActivity</Name>
                <Script>
                    $this | Get-PASAccountActivity
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>GetDetails</Name>
                <Script>
                    $this | Get-PASAccountDetail
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>GetPassword</Name>
                <Script>
                    $this | Get-PASAccountPassword
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>VerifyPassword</Name>
                <Script>
                    $this | Invoke-PASCPMOperation -VerifyTask
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>ChangePassword</Name>
                <Script>
                    $this | Invoke-PASCPMOperation -ChangeTask
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>ReconcilePassword</Name>
                <Script>
                    $this | Invoke-PASCPMOperation -ReconcileTask
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Remove</Name>
                <Script>
                    Param([bool]$force)
 
                    if ($force) {
 
                    $this | Remove-PASAccount -Confirm:$false
 
                    }
 
                    else{
 
                    $this | Remove-PASAccount -Confirm
 
                    }
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>ToHashtable</Name>
                <Script>
                    $convertedProperties = @()
 
                    foreach ($item in $this.platformAccountProperties) {
                        $ht = @{}
                        foreach ($prop in $item.PSObject.Properties) {
                            $ht[$prop.Name] = $prop.Value
                        }
                        $convertedProperties += $ht
                    }
 
 
                    $accountParams = @{
                        address = $this.address
                        userName = $this.userName
                        platformID = $this.platformId
                        platformAccountProperties = $convertedProperties
                        automaticManagementEnabled = $this.secretManagement.automaticManagementEnabled
                        manualManagementReason = $this.secretManagement.manualManagementReason
                        remoteMachines = $this.remoteMachinesAccess.remoteMachines
                        accessRestrictedToRemoteMachines = $this.remoteMachinesAccess.accessRestrictedToRemoteMachines
                    }
 
                    $accountParams
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
    <Type>
        <Name>psPAS.CyberArk.Vault.ACL.Policy</Name>
        <Members>
            <ScriptMethod>
                <Name>Remove</Name>
                <Script>
                    Param([bool]$force)
 
                    if ($force) {
 
                    $this | Remove-PASPolicyACL -Confirm:$false
 
                    }
 
                    else{
 
                    $this | Remove-PASPolicyACL -Confirm
 
                    }
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
    <Type>
        <Name>psPAS.CyberArk.Vault.ACL.Account</Name>
        <Members>
            <ScriptMethod>
                <Name>Remove</Name>
                <Script>
                    Param([bool]$force)
 
                    if ($force) {
 
                    $this | Remove-PASAccountACL -Confirm:$false
 
                    }
 
                    else{
 
                    $this | Remove-PASAccountACL -Confirm
 
                    }
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
    <Type>
        <Name>psPAS.CyberArk.Vault.Credential</Name>
        <Members>
            <ScriptMethod>
                <Name>ToSecureString</Name>
                <Script>
                    $this | Select-Object -ExpandProperty Password | ConvertTo-SecureString -AsPlainText -Force
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>ToCredential</Name>
                <Script>
                    param([string]$UserName)
                    if (!$UserName) { $UserName = $this | Select-Object -ExpandProperty UserName }
                    New-Object System.Management.Automation.PSCredential ($UserName,( $this | Select-Object -ExpandProperty Password | ConvertTo-SecureString -AsPlainText -Force))
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>ToPsCredential</Name>
                <Script>
                    param([string]$UserName)
                    if (!$UserName) { $UserName = $this | Select-Object -ExpandProperty UserName }
                    New-Object System.Management.Automation.PSCredential ($UserName,( $this | Select-Object -ExpandProperty Password | ConvertTo-SecureString -AsPlainText -Force))
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
    <Type>
        <Name>psPAS.CyberArk.Vault.Safe</Name>
        <Members>
            <ScriptMethod>
                <Name>SafeMembers</Name>
                <Script>
                    $this | Get-PASSafeMember
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Remove</Name>
                <Script>
                    Param([bool]$force)
 
                    if ($force) {
 
                    $this | Remove-PASSafe -Confirm:$false
 
                    }
 
                    else{
 
                    $this | Remove-PASSafe -Confirm
 
                    }
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
    <Type>
        <Name>psPAS.CyberArk.Vault.Safe.Member</Name>
        <Members>
            <ScriptMethod>
                <Name>UserSource</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty Source
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>UserType</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty UserTypeName
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>IsAgentUser</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty AgentUser
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>IsExpired</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty Expired
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>IsDisabled</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty Disabled
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>IsSuspended</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty Suspended
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Remove</Name>
                <Script>
                    Param([bool]$force)
 
                    if ($force) {
 
                    $this | Remove-PASSafeMember -Confirm:$false
 
                    }
 
                    else{
 
                    $this | Remove-PASSafeMember -Confirm
 
                    }
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
    <Type>
        <Name>psPAS.CyberArk.Vault.Safe.Member.Gen2</Name>
        <Members>
            <ScriptMethod>
                <Name>GetPermissions</Name>
                <Script>
                    $Permissions = @{}
                    $this.Permissions.PSObject.Properties | ForEach-Object {
                        $Permissions[$_.Name] = $_.Value
                    }
                    $Permissions
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>UserSource</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty Source
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>UserType</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty UserTypeName
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>IsAgentUser</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty AgentUser
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>IsExpired</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty Expired
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>IsDisabled</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty Disabled
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>IsSuspended</Name>
                <Script>
                    $this | Get-PASUser | Select-Object -ExpandProperty Suspended
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Remove</Name>
                <Script>
                    Param([bool]$force)
 
                    if ($force) {
 
                    $this | Remove-PASSafeMember -Confirm:$false
 
                    }
 
                    else{
 
                    $this | Remove-PASSafeMember -Confirm
 
                    }
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
    <Type>
        <Name>psPAS.CyberArk.Vault.User</Name>
        <Members>
            <ScriptMethod>
                <Name>Activate</Name>
                <Script>
                    $this | Unblock-PASUser -Suspended $false
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Disable</Name>
                <Script>
                    $this | Set-PASUser -Disabled $true
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Enable</Name>
                <Script>
                    $this | Set-PASUser -Disabled $false
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Remove</Name>
                <Script>
                    Param([bool]$force)
 
                    if ($force) {
 
                    $this | Remove-PASUser -Confirm:$false
 
                    }
 
                    else{
 
                    $this | Remove-PASUser -Confirm
 
                    }
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
    <Type>
        <Name>psPAS.CyberArk.Vault.DiscoveryScan</Name>
        <Members>
            <ScriptMethod>
                <Name>Stop</Name>
                <Script>
                    Param([bool]$force)
 
                    if ($force) {
 
                    $this | Stop-PASDiscoveryScan -Confirm:$false
 
                    }
 
                    else{
 
                    $this | Stop-PASDiscoveryScan -Confirm
 
                    }
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Remove</Name>
                <Script>
                    Param([bool]$force)
 
                    if ($force) {
 
                    $this | Remove-PASDiscoveryScan -Confirm:$false
 
                    }
 
                    else{
 
                    $this | Remove-PASDiscoveryScan -Confirm
 
                    }
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
    <Type>
        <Name>psPAS.CyberArk.Vault.OAuthProvider</Name>
        <Members>
            <MemberSet>
                <Name>PSStandardMembers</Name>
                <Members>
                    <PropertySet>
                        <Name>DefaultDisplayPropertySet</Name>
                        <ReferencedProperties>
                            <Name>id</Name>
                            <Name>accessTokenValidationMode</Name>
                            <Name>signatureValidationMode</Name>
                            <Name>issuerUrl</Name>
                            <Name>audience</Name>
                            <Name>allowedUsers</Name>
                        </ReferencedProperties>
                    </PropertySet>
                </Members>
            </MemberSet>
        </Members>
    </Type>
    <Type>
        <Name>psPAS.CyberArk.Vault.Session</Name>
        <Members>
            <ScriptMethod>
                <Name>GetRemainingSessionTime</Name>
                <Script>
                    (Get-PASSession).SessionTimeRemaining
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Refresh</Name>
                <Script>
                    Get-PASLoggedOnUser | Out-Null
                    (Get-PASSession).SessionTimeRemaining
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
</Types>