functions/users/Search-TssUserSession.ps1
|
function Search-TssUserSession { <# .SYNOPSIS List the login sessions of the current user .DESCRIPTION Returns the web login sessions of the user who owns the session, with IP address, login date and browser. Current is True for the session that made the request. API token sessions are not listed. .PARAMETER TssSession TssSession object created by New-TssSession for authentication .EXAMPLE $session = New-TssSession -SecretServer https://alpha -Credential $ssCred Search-TssUserSession -TssSession $session Lists the login sessions of the current user .LINK https://thycotic-ps.github.io/thycotic.secretserver/commands/users/Search-TssUserSession .LINK https://github.com/thycotic-ps/thycotic.secretserver/blob/main/src/functions/users/Search-TssUserSession.ps1 .NOTES Requires TssSession object returned by New-TssSession #> [CmdletBinding()] [OutputType('Thycotic.PowerShell.Users.Session[]')] param ( [Parameter(Mandatory, ValueFromPipeline, Position = 0)] [Thycotic.PowerShell.Authentication.Session] $TssSession ) begin { $tssParams = $PSBoundParameters $invokeParams = . $GetInvokeApiParams $TssSession } process { Get-TssInvocation $PSCmdlet.MyInvocation if ($tssParams.ContainsKey('TssSession') -and $TssSession.IsValidSession()) { Compare-TssVersion $TssSession '10.9.000000' $PSCmdlet.MyInvocation $uri = $TssSession.ApiUrl, 'users', 'sessions' -join '/' $queryParams = @() $queryParams += "take=$($TssSession.Take)" if ($queryParams) { $uri = $uri, ($queryParams -join '&') -join '?' } $invokeParams.Uri = $uri $invokeParams.Method = 'GET' Write-Verbose "Performing the operation $($invokeParams.Method) $uri" try { $apiResponse = Invoke-TssApi @invokeParams $restResponse = . $ProcessResponse $apiResponse } catch { Write-Warning 'Issue with Search-TssUserSession request' $err = $_ . $ErrorHandling $err } if ($restResponse.records) { [Thycotic.PowerShell.Users.Session[]](. $FilterTssResponse $restResponse.records ([Thycotic.PowerShell.Users.Session])) } } else { Write-Warning 'No valid session found' } } } |