Private/Add-VCDASSOGroup.ps1
<# Copyright 2023 VMware, Inc. SPDX-License-Identifier: BSD-2-Clause #> function Add-VCDASSOGroup { [CmdletBinding()] <# .DESCRIPTION Create Custom VCDA group, if not already created and add the user as member. #> param ( [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $Name, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $Description, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $user, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string]$Domain ) try { $username = Get-SsoPersonUser -Name $user -Domain $Domain | Where-Object {$_.name -eq $user} $group = Get-SsoGroup -Domain $Domain -Name $Name | Where-Object {$_.name -eq $Name} #create group if it doesn't exists if ($null -eq $group) { Write-Log -message "Creating SSO Admin group '$name'" $group = New-SsoGroup -Name $Name -Description $Description } #add user to group if ($null -ne $username) { if (($group | Get-SsoPersonUser) -match $user){ Write-Log -message "User '$($username.name)' is already member of '$($group.name)'" } else { Write-Log -message "Adding '$($username.name)' to group '$($group.name)'" Add-UserToSsoGroup -User $username -TargetGroup $group } } elseif ($null -eq $username) { Write-Log -message "User '$User' was not found" Write-Warning "User '$user' was not found and not added to group '$name'" } } catch { $PSCmdlet.ThrowTerminatingError($_) } } |