private/Invoke-UnifiAPIRequest.ps1
function Invoke-UnifiAPIRequest { [CmdletBinding()] Param( [Parameter(Mandatory = $true)] [string] $Uri, [Parameter(Mandatory = $true)] [Microsoft.PowerShell.Commands.WebRequestMethod] $Method, [Parameter(Mandatory = $false)] [PSObject] $Body ) $Response = $false $RequestParameters = @{ Uri = $ApiUri Method = $Method ContentType = "application/json" Body = $Body WebSession = $Global:UnifiAPI_Session SkipCertificateCheck = $Global:UnifiAPI_SkipCertificateCheck } try { $Response = (Invoke-RestMethod @RequestParameters).data } catch { Write-Error $PSItem.Exception.Message } return $Response } |