Functions/Authentication/Close-PASSession.ps1
# .ExternalHelp psPAS-help.xml function Close-PASSession { [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'UseGen1API', Justification = 'False Positive')] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'SharedAuthentication', Justification = 'False Positive')] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'SAMLAuthentication', Justification = 'False Positive')] [CmdletBinding(DefaultParameterSetName = 'Gen2')] param( [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $false, ParameterSetName = 'Gen1' )] [Alias('UseClassicAPI')] [switch]$UseGen1API, [Parameter( Mandatory = $false, ValueFromPipeline = $false, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'shared' )] [switch]$SharedAuthentication, [Parameter( Mandatory = $false, ValueFromPipeline = $false, ValueFromPipelinebyPropertyName = $true, ParameterSetName = 'saml' )] [switch]$SAMLAuthentication ) BEGIN { Switch ($PSCmdlet.ParameterSetName) { 'Gen1' { $URI = "$Script:BaseURI/WebServices/auth/Cyberark/CyberArkAuthenticationService.svc/Logoff" break } 'saml' { $URI = "$Script:BaseURI/WebServices/auth/SAML/SAMLAuthenticationService.svc/Logoff" break } 'shared' { $URI = "$Script:BaseURI/WebServices/auth/Shared/RestfulAuthenticationService.svc/Logoff" break } 'Gen2' { $URI = "$Script:BaseURI/API/Auth/Logoff" break } } }#begin PROCESS { #Send Logoff Request Invoke-PASRestMethod -Uri $URI -Method POST -WebSession $Script:WebSession | Out-Null }#process END { #Set ExternalVersion to 0.0 [System.Version]$Version = '0.0' Set-Variable -Name ExternalVersion -Value $Version -Scope Script -ErrorAction SilentlyContinue #Clear Module scope variables on logoff Clear-Variable -Name BaseURI -Scope Script -ErrorAction SilentlyContinue Clear-Variable -Name WebSession -Scope Script -ErrorAction SilentlyContinue }#end } |