Functions/UserMangement/Get-PVUser.ps1
Function Get-PVUser { <# .SYNOPSIS Returns details about a specific CyberArk User. .DESCRIPTION Exposes the PACLI Function: "USERDETAILS" .PARAMETER destUser The name of the User whose details will be listed. .EXAMPLE Get-PVUser -destUser zEST1 Lists properties of vault user zEST1 .NOTES AUTHOR: Pete Maan #> [CmdLetBinding()] param( [Parameter( Mandatory = $True, ValueFromPipelineByPropertyName = $True)] [Alias("Username")] [string]$destUser ) PROCESS { $Return = Invoke-PACLICommand $Script:PV.ClientPath USERDETAILS "$($PSBoundParameters | ConvertTo-ParameterString) OUTPUT (ALL,ENCLOSE)" if ($Return.ExitCode -eq 0) { #if result(s) returned if ($Return.StdOut) { #Convert Output to array $Results = $Return.StdOut | ConvertFrom-PacliOutput #loop through results For ($i = 0 ; $i -lt $Results.length ; $i += 65) { #Get Range from array $values = $Results[$i..($i + 65)] #Output Object [PSCustomObject] @{ #assign values to properties "Username" = $values[0] "Retention" = $values[1] "UsersAdmin" = $values[2] "SafesAdmin" = $values[3] "NetworksAdmin" = $values[4] "RulesAdmin" = $values[5] "FileCategoriesAdmin" = $values[6] "AuditAdmin" = $values[7] "BackupAdmin" = $values[8] "RestoreAdmin" = $values[9] "Location" = $values[10] "KeyFileName" = $values[11] "FromHour" = $values[12] "ToHour" = $values[13] "FirstName" = $values[14] "MiddleName" = $values[15] "LastName" = $values[16] "HomeStreet" = $values[17] "HomeCity" = $values[18] "HomeState" = $values[19] "HomeCountry" = $values[20] "HomeZIP" = $values[21] "WorkPhone" = $values[22] "HomePhone" = $values[23] "Cellular" = $values[24] "Fax" = $values[25] "Pager" = $values[26] "HEmail" = $values[27] "BEmail" = $values[28] "OEmail" = $values[29] "JobTitle" = $values[30] "Organization" = $values[31] "Department" = $values[32] "Profession" = $values[33] "WorkStreet" = $values[34] "WorkCity" = $values[35] "WorkState" = $values[36] "WorkCountry" = $values[37] "WorkZip" = $values[38] "HomePage" = $values[39] "Notes" = $values[40] "ExpirationDate" = $values[41] "PassAuth" = $values[42] "PKIAuth" = $values[43] "SecureIDAuth" = $values[44] "NTAuth" = $values[45] "RadiusAuth" = $values[46] "ChangePassword" = $values[47] "PasswordNeverExpires" = $values[48] "LDAPUser" = $values[49] "Template" = $values[50] "GWAccount" = $values[51] "Disabled" = $values[52] "Quota" = $values[53] "UsedQuota" = $values[54] "DN" = $values[55] "Fingerprint" = $values[56] "LDAPFullDN" = $values[57] "LDAPDirectory" = $values[58] "MapID" = $values[59] "MapName" = $values[60] "UserAuth" = $values[61] "UserTypeID" = $values[62] "NonAllowedClients" = $values[63] "EnableComponentMonitoring" = $values[64] } | Add-ObjectDetail -TypeName pacli.PoShPACLI.User } } } } } |