#powershell #microsoft-teams
Вопрос:
Я пытаюсь создать команду, добавить каналы, а затем создать несколько папок с помощью Powershell. Я разместил код ниже (я прокомментировал добавление пользователей, поскольку в данный момент это создает еще одну проблему).
#Setup named parameters
param ($TeamName, $TeamDescription, $headteacheremail, $hrcontactemail)
#Sign in to Microsoft Teams with mfa.
Connect-MicrosoftTeams -AccountId user@domain.com
Connect-ExchangeOnline -UserPrincipalName user@domain.com
$team = New-Team -MailNickname $TeamName -displayname $TeamName -Visibility "private"
Write-Host "Team Created: $TeamName"
Write-Host "Team GUID: $team.GroupID"
New-TeamChannel -GroupId $team.GroupId -DisplayName "2021 - 2022 Academic Year"
New-TeamChannel -GroupId $team.GroupId -DisplayName "Induction"
New-TeamChannel -GroupId $team.GroupId -DisplayName "Probation (Support Staff Only)"
New-TeamChannel -GroupId $team.GroupId -DisplayName "Employee Documents" -MembershipType "private"
Write-Host "Channels Created"
#Add the headteacher to the team as a owner
Add-TeamUser -GroupId $team.GroupId -Role Owner -User $headteacheremail
#Add the hr contact to the team as a owner
Add-TeamUser -GroupId $team.GroupId -Role Owner -User $hrcontactemail
Write-Host "Users added to channels"
Write-Host "Sleeping for 10 seconds"
#Give time for MS servers to create the team and channels before trying to interact with them. 10 seconds
Start-Sleep -s 10
#Add-TeamChannelUser -GroupId $team.GroupId -DisplayName "Employee Documents" -User $headteacheremail
#Add-TeamChannelUser -GroupId $team.GroupId -DisplayName "Employee Documents" -User $hrcontactemail
#Write-Host "Users added to channels"
$SiteURL = Get-UnifiedGroup -Identity $TeamName | Select -ExpandProperty SharePointSiteURL
Connect-PnPOnline -Url $SiteURL -UseWebLogin
Add-PnPFolder -Name "Bench marking documents" -Folder "Shared Documents/2021 - 2022 Academic Year"
Add-PnPFolder -Name "Career Development Plan - current" -Folder "Shared Documents/2021 - 2022 Academic Year"
Add-PnPFolder -Name "Flick Training Certificates" -Folder "Shared Documents/2021 - 2022 Academic Year"
Add-PnPFolder -Name "Professional Growth Plan - current" -Folder "Shared Documents/2021 - 2022 Academic Year"
Add-PnPFolder -Name "Flick Induction Training Certificate" -Folder "Shared Documents/Induction"
Add-PnPFolder -Name "Induction Policies" -Folder "Shared Documents/Induction"
Add-PnPFolder -Name "3 Month Review" -Folder "Shared Documents/Induction"
Add-PnPFolder -Name "6 Month Review" -Folder "Shared Documents/Induction"
Команда создана, добавлены каналы и пользователи, но когда дело доходит до добавления папок, я получаю следующую ошибку.
Connect-PnPOnline : Cannot bind argument to parameter 'Url' because it is null.
Если я выполню команду самостоятельно с именем команды, она вернет URL-адрес sharepoint в порядке.
Я не совсем понимаю, что здесь происходит.
Комментарии:
1. Что, если ты это сделаешь
$SiteURL = $team | Get-UnifiedGroup | Select -ExpandProperty SharePointSiteURL
?2. при этом я получаю «Объект ввода не может быть привязан к каким-либо параметрам для команды либо потому, что команда не принимает входные данные конвейера, либо входные данные и их свойства не соответствуют ни одному из параметров, которые принимают входные данные конвейера».
3.Хммм.
-Identity
действительно принимает входные данные конвейера в соответствии с документами..
Ответ №1:
Странно, но я изменил его обратно на следующий, и теперь он работает. Не знаю, почему и как.
$SiteURL = Get-UnifiedGroup -Identity $TeamName | Select -ExpandProperty SharePointSiteURL
Теперь у меня есть только препятствие, которое, похоже, Microsoft автоматически не создает папки sharepoint для отдельных каналов и появляется только при открытии соответствующего раздела файлов в командах. Это означает, что я не могу создавать папки при создании команды 🙁
Комментарии:
1. Вернитесь к тому, чтобы снова не работать 🙁 Говоря, что URL-адрес равен нулю
2. Привет, если вы добавляете название команды вручную.. создаются ли папки ?
3. @Prithvi-MSFT Они делают, когда вы открываете вкладку файлы. Я проверяю, могу ли я создать папку канала и нормально ли она связана. Сказав это, Новая команда неожиданно перестала возвращать groupId. Он просто пустой. Опыт использования этого модуля до сих пор был печальным, он поражен и пропущен, если что-то работает или сейчас.
4. Привет @Nathan, Значит, текущая проблема, с которой вы столкнулись, связана с получением идентификатора группы или созданием папок внутри каналов ?
5. @Prithvi-MSFT Начиная с версии 2.5 модуля Microsoft Teams…. Оба. Новая команда не возвращает идентификатор группы, как раньше, и документацию по адресу docs.microsoft.com/en-us/powershell/module/teams/… (Пример 3) неверен.