Public/Invoke-LogoutUser.ps1
|
function Invoke-LogoutUser { [CmdletBinding()] param ( [Parameter( Position=0, Mandatory=$false, ValueFromPipelineByPropertyName=$true )] [string]$Host = $Script:Host, [Parameter( Position=1, Mandatory=$false, ValueFromPipelineByPropertyName=$true )] [string]$SessionKey = $Script:SessionKey, [Parameter( ValueFromPipelineByPropertyName=$true )] [switch]$UseSSL = $Script:UseSSL, [Parameter( ValueFromPipelineByPropertyName=$true )] [switch]$IgnoreCertificateErrors = $Script:IgnoreCertificateErrors ) begin { if($IgnoreCertificateErrors) { [System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true } } } process { $endPoint = "api/auth/logout" $method = "POST" $contentType = "application/json" $uri = "http" + $(if($UseSSL) { "s" }) + "://$($Host)/$($endPoint)" $headers = @{ Authorization=$SessionKey; } $body = @{ } $message = @{ Uri=$uri; Method=$method; Body=(ConvertTo-Json $body); ContentType=$contentType; Headers=$headers; } Write-Verbose -Message "$($method) $($uri) $($contentType)" Write-Verbose -Message "Body:`n$(ConvertTo-Json $body)" Invoke-RestMethod @message | Out-Null } end { [System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $null } } } |