Public/Get-ArmorIdentity.ps1
function Get-ArmorIdentity { <# .SYNOPSIS Retrieves identity details about your Armor user account. .DESCRIPTION Retrieves details about your Armor user account that you used to establish the session, including account membership and permissions. This also updates the identity information in the session variable: $Global:ArmorSession. .INPUTS None You cannot pipe input to this cmdlet. .NOTES - Troy Lindsay - Twitter: @troylindsay42 - GitHub: tlindsay42 .EXAMPLE Get-ArmorIdentity Retrieves the identity details about your Armor user account. .EXAMPLE Get-ArmorIdentity -ApiVersion 1.0 Retrieves the Armor API version 1.0 identity details about your Armor user account. .LINK https://tlindsay42.github.io/ArmorPowerShell/public/Get-ArmorIdentity/ .LINK https://github.com/tlindsay42/ArmorPowerShell/blob/master/Armor/Public/Get-ArmorIdentity.ps1 .LINK https://docs.armor.com/display/KBSS/Get+Authenticated+User+Info .LINK https://developer.armor.com/#!/Authentication/Me_GetMeAsync .COMPONENT Armor API .FUNCTIONALITY Armor account management #> [CmdletBinding()] [OutputType( [ArmorSession] )] param ( # Specifies the API version for this request. [Parameter( Position = 0 )] [ValidateSet( 'v1.0', 'internal' )] [String] $ApiVersion = $Global:ArmorSession.ApiVersion ) begin { $function = $MyInvocation.MyCommand.Name Write-Verbose -Message "Beginning: '${function}'." Assert-ArmorSession } process { Write-Verbose -Message ( "Processing: '${function}' with ParameterSetName '$( $PSCmdlet.ParameterSetName )' and Parameters: " + ( $PSBoundParameters | Hide-SensitiveData | Format-Table -AutoSize | Out-String ) ) [ArmorSession] $return = $null [ArmorSessionUser[]] $temp = @() $resources = Get-ArmorApiData -FunctionName $function -ApiVersion $ApiVersion $uri = New-ArmorApiUri -Endpoints $resources.Endpoints $splat = @{ Uri = $uri Method = $resources.Method SuccessCode = $resources.SuccessCode } $results = Invoke-ArmorRestMethod @splat $temp = $results.User $Global:ArmorSession.User = $temp | Select-Object -First 1 $Global:ArmorSession.Accounts = $results.Accounts $Global:ArmorSession.Departments = $results.Departments $Global:ArmorSession.Permissions = $results.Permissions $Global:ArmorSession.Features = $results.Features $return = $Global:ArmorSession $return } end { Write-Verbose -Message "Ending: '${function}'." } } |