35 lines
880 B
PowerShell
35 lines
880 B
PowerShell
function Disconnect-UnifiController {
|
|
[CmdletBinding()]
|
|
param()
|
|
|
|
if (-not $script:UnifiSession -or -not $script:UnifiConfig) {
|
|
Write-Warning "Not currently connected to a controller."
|
|
return
|
|
}
|
|
|
|
$baseUrl = $script:UnifiConfig.ControllerUrl
|
|
|
|
$params = @{
|
|
Method = 'POST'
|
|
Uri = "$baseUrl/api/logout"
|
|
WebSession = $script:UnifiSession
|
|
}
|
|
|
|
if ($script:UnifiConfig.SkipCertificateCheck) {
|
|
$params.SkipCertificateCheck = $true
|
|
}
|
|
|
|
try {
|
|
Invoke-RestMethod @params | Out-Null
|
|
}
|
|
catch {
|
|
# Session may already be expired — clear local state regardless
|
|
Write-Verbose "Logout request failed (session may have already expired): $_"
|
|
}
|
|
|
|
$script:UnifiSession = $null
|
|
$script:UnifiConfig = $null
|
|
|
|
Write-Host "Disconnected." -ForegroundColor Yellow
|
|
}
|