Поскольку официальный модуль PowerShell, предоставленный Microsoft для работы с Microsoft Teams, не предоставляет способ создания команды с использованием шаблона educationClass
, мы разработали собственный сценарий для создания команд для ситуаций, когда группа еще не существовала в нашем Система MIS (и поэтому не входила в SDS).
Этот сценарий использует сочетание API MS Graph и модуля PowerShell, и до недавнего времени у нас не было никаких проблем. Однако теперь у нас есть отчет о том, что студент смог покинуть одну из команд, которые мы создали с помощью этого скрипта. Нас заставили понять, что студенты не могут покидать классы, поэтому мы сообщили об этом в службу поддержки Microsoft, но нам посоветовали, что они считают это «проблемой разработчика», а не ошибкой, поэтому они направили нас сюда.
Фрагмент кода PowerShell, в котором мы фактически создаем команду, выглядит следующим образом:
$body = @{
"template@odata.bind"="https://graph.microsoft.com/beta/teamsTemplates('educationClass')"
"displayName"=$teamname
"description"=$teamname
}
$bodyjson = ($body | ConvertTo-JSON)
$result = Invoke-RestMethod -Uri "https://graph.microsoft.com/beta/teams"
-Body $bodyjson -ContentType "application/json"
-Headers @{Authorization = "Bearer $accesstoken"} -Method Post
(последние 3 строки составляют одну строку)
Затем мы добавляем студентов в команду, используя $result = Add-TeamUser -GroupId $groupId -User $userId -Role Member
Мы проверили этого учащегося с помощью MS Graph API, но у него определенно primaryRole
установлено на student
, поэтому мы подозреваем, что проблема связана с командой. Что-то мы упустили или не сделали правильно при создании команды или при добавлении студентов?