Functions/Public/identity/Remove-vRAGroupPrincipal.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
function Remove-vRAGroupPrincipal { <# .SYNOPSIS Remove a vRA custom group .DESCRIPTION Remove a vRA custom group .PARAMETER Id The principal id of the custom group .PARAMETER Tenant The tenant of the group .INPUTS System.String. .OUTPUTS None .EXAMPLE Remove-vRAGroupPrincipal -PrincipalId Group@Tenant .EXAMPLE Get-vRAGroupPrincipal -Id Group@Tenant | Remove-vRAGroupPrincipal #> [CmdletBinding(SupportsShouldProcess,ConfirmImpact="High")] Param ( [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)] [ValidateNotNullOrEmpty()] [Alias("PrincipalId")] [String[]]$Id, [parameter(Mandatory=$false,ParameterSetName="Standard")] [ValidateNotNullOrEmpty()] [String]$Tenant = $Global:vRAConnection.Tenant ) begin { } process { foreach ($GroupId in $Id){ try { if ($PSCmdlet.ShouldProcess($GroupId)){ $URI = "/identity/api/tenants/$($Tenant)/groups/$($GroupId)" Write-Verbose -Message "Preparing DELETE to $($URI)" # --- Run vRA REST Request Invoke-vRARestMethod -Method DELETE -URI $URI | Out-Null } } catch [Exception]{ throw } } } end { } } |