xml/psPAS.CyberArk.Vault.Account.Type.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>
</Types>