Add-MSTTeamsAppInstallation
Teams: Add a Teams App installation
#Requires -Version 5.1
[CmdletBinding()]
Param(
[Parameter(Mandatory = $true, ParameterSetName = 'byTeam')]
[string]$TeamID,
[Parameter(Mandatory = $true, ParameterSetName = 'byUser')]
[string]$UserID,
[Parameter(Mandatory = $true, ParameterSetName = 'byTeam')]
[Parameter(Mandatory = $true, ParameterSetName = 'byUser')]
[string]$AppId,
[Parameter(ParameterSetName = 'byTeam')]
[Parameter(ParameterSetName = 'byUser')]
[string]$Permissions
)
Process {
try {
[string[]]$Properties = @('DisplayName', 'TeamsAppId', 'Version', 'TeamsAppDefinitionId')
[hashtable]$cmdArgs = @{'ErrorAction' = 'Stop'; 'AppId' = $AppId}
if ($PSCmdlet.ParameterSetName -eq 'byTeam') {
$cmdArgs.Add('TeamID', $TeamID)
}
else {
$cmdArgs.Add('UserID', $UserID)
}
if ($PSBoundParameters.ContainsKey('Permissions')) {
$cmdArgs.Add('Permissions', $Permissions)
}
$null = Add-TeamsAppInstallation @cmdArgs
$cmdArgs.Remove('AppId')
$cmdArgs.Remove('Permissions')
$result = Get-TeamsAppInstallation @cmdArgs | Sort-Object DisplayName | Select-Object $Properties
if ($null -eq $result -or $result.Count -eq 0) {
Write-Output "No app installations found"
return
}
foreach ($item in $result) {
$item | Add-Member -NotePropertyName Timestamp -NotePropertyValue (Get-Date -Format 'yyyy-MM-dd HH:mm:ss') -PassThru -Force
}
}
catch { throw }
}Team identifier in Microsoft Teams
User identifier in Microsoft Teams
Teams App identifier in Microsoft Teams
RSC permissions for the Teams App, e.g. "TeamSettings.Read.Group ChannelMessage.Read.Group"