Add-MSTTeamUser
Teams: Adds owners or members to a team
#Requires -Version 5.1
[CmdletBinding()]
Param(
[Parameter(Mandatory = $true, ParameterSetName = 'Single')]
[Parameter(Mandatory = $true, ParameterSetName = 'Multi')]
[string]$GroupId,
[Parameter(Mandatory = $true, ParameterSetName = 'Single')]
[string]$User,
[Parameter(Mandatory = $true, ParameterSetName = 'Multi')]
[string[]]$Users,
[Parameter(ParameterSetName = 'Single')]
[Parameter(ParameterSetName = 'Multi')]
[ValidateSet('Member', 'Owner')]
[string]$Role
)
Process {
try {
$team = Get-Team -GroupId $GroupId -ErrorAction Stop | Select-Object -ExpandProperty DisplayName
[hashtable]$cmdArgs = @{'ErrorAction' = 'Stop'; 'GroupId' = $GroupId}
if (-not [System.String]::IsNullOrWhiteSpace($Role)) {
$cmdArgs.Add('Role', $Role)
}
if ($PSCmdlet.ParameterSetName -eq 'Single') {
$Users = @($User)
}
$result = @()
foreach ($usr in $Users) {
try {
$null = Add-TeamUser @cmdArgs -User $usr
$result += "User $($usr) added to team $($team)"
}
catch {
$result += "Error adding user $($usr) to team $($team)"
}
}
foreach ($msg in $result) {
[PSCustomObject]@{
Timestamp = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
Result = $msg
}
}
}
catch { throw }
}GroupId of the team
User's UPN (user principal name) for single user addition
One or more User UPN's for bulk addition
User role (Member or Owner)