public/Remove-Admin.ps1
function Remove-Admin { [CmdletBinding(DefaultParameterSetName = "ByObject")] param( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = "ById")] [string]$Id, [Parameter(ValueFromPipelineByPropertyName = $true)] [string]$OrganizationId = $env:MerakiOrganizationId ) Begin { try { if (!$OrganizationId) { Write-Error -Exception ([System.Management.Automation.PSArgumentNullException]::new()) ` -Message "Parameter OrganizationId was not specified, and attempt to infer from `env:MerakiOrganizationId failed." ` -ErrorAction Stop } [string]$baseUri = "$endpoint/organizations/$OrganizationId/admins" $queryUriRedirect = Invoke-WebRequest -Method GET -Uri $baseUri -MaximumRedirection 0 -Headers $headers -ErrorAction SilentlyContinue $baseUri = $queryUriRedirect.Headers.Location } catch {$PSCmdlet.ThrowTerminatingError($PSitem)} } Process { try { $uri = "$baseUri/$Id" Invoke-RestMethod -Method DELETE -Uri $uri -Headers $headers -ContentType 'application/json' } catch { $PSCmdlet.ThrowTerminatingError($PSitem) } } } |