Использование Powershell для создания команды, каналов и создания файлов

#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) неверен.