Modules/AzureDevOpsDsc.Common/Api/Functions/Private/Api/UserEntitlement/Remove-DevOpsUserEntitlement.ps1
|
<#
.SYNOPSIS Removes a user from an Azure DevOps organization. .DESCRIPTION Deletes a user entitlement via the Member Entitlement Management API (DELETE https://vsaex.dev.azure.com/{org}/_apis/userentitlements/{id}). This unassigns the user's license and extensions and removes them from all project memberships. .PARAMETER Organization The name of the Azure DevOps organization. .PARAMETER UserId The entitlement/user id (GUID) of the user to remove. .PARAMETER ApiVersion The REST API version to use. Defaults to '7.1'. .EXAMPLE Remove-DevOpsUserEntitlement -Organization 'myorg' -UserId '...' #> function Remove-DevOpsUserEntitlement { [CmdletBinding(SupportsShouldProcess = $true)] param ( [Parameter(Mandatory = $true)] [string]$Organization, [Parameter(Mandatory = $true)] [string]$UserId, [Parameter()] [string]$ApiVersion = '7.1' ) $params = @{ Uri = 'https://vsaex.dev.azure.com/{0}/_apis/userentitlements/{1}?api-version={2}' -f $Organization, $UserId, $ApiVersion Method = 'DELETE' } if (-not $PSCmdlet.ShouldProcess($UserId, 'Remove user entitlement')) { return } try { return Invoke-AzDevOpsApiRestMethod @params } catch { throw "[Remove-DevOpsUserEntitlement] Failed to remove user '$UserId' from '$Organization': $_" } } |