PowerShell модуль Microsoft Teams разработан для управления Teams из командной строки. Командлеты модуля можно использовать для более быстрого выполнения типовых задач администрирования и в сценариях автоматизации. В этой статье мы покажем, как установить PowerShell модуль Teams, и рассмотрим типовые команды, которые могут понадобится администратору Microsoft 365 для управления Teams.
Установка PowerShell модуля Microsoft Teams
Для установки модуля Microsoft Teams версия PowerShell на вашем компьютере должна быть не ниже 5.1. Вывести текущую версию можно с помощью команды:
$PSVersionTable.PSVersion
Обновите версию PowerShell , если нужно.
Вы можете установить модуль MS Teams из PowerShell Gallery с помощью команды:
Install-Module -Name MicrosoftTeams
Чтобы проверить, что модуль Teams установлен на компьютере и вывести его версию, выполните:
Get-Module MicrosoftTeams –ListAvailable
Вы можете установить определенную версию модуля из PSGallery. Выведите список доступных версий модуля:
Find-Module MicrosoftTeams -AllVersions
Чтобы установить определенную версию, используйте команду:
Install-Module -Name MicrosoftTeams -RequiredVersion 3.0.0
Для обновления версии модуля Teams выполните:
Update-Module -Name MicrosoftTeams
Полный список командлетов в модуле можно вывести так:
Get-Command –Module MicrosoftTeams
В версии модуля 3.1.0 доступно 579 командлетов и функций Teams.
Использование PowerShell модуля для управления Microsoft Teams
Для подключения к тенанту Teams в Microsoft 365 выполните команду (если для акканту включена:
Connect-MicrosoftTeams
Введите имя и пароль пользователя для подключения. Если для аккаунта пользователя Azure включена MFA , нужно выполнить подтвердить аутентификацию.
- Global Admin
- Teams Service Admin
- Teams Communications Admin
- Teams Communications Support Engineer
- Teams Communications Support Specialist
Вывести все команды Teams в вашем тенанте:
Get-Teams
Чтобы создать новую частную (private) команду в Teams выполните:
New-Team –DisplayName SysOps
Вывести все настройки группы Teams:
get-team -DisplayName sysops|fl
GroupId : 52259fec-0a72-xxxx-96e2-8583xxxxxx_x000D_InternalId : [email protected]_x000D_DisplayName : SysOps_x000D_Description : SysOps Wiki Team_x000D_Visibility : Public_x000D_MailNickName : msteams_cxx92d_x000D_Classification :_x000D_Archived : False_x000D_AllowGiphy : True_x000D_GiphyContentRating : moderate_x000D_AllowStickersAndMemes : True_x000D_AllowCustomMemes : True_x000D_AllowGuestCreateUpdateChannels : False_x000D_ AllowGuestDeleteChannels : False_x000D_AllowCreateUpdateChannels : True_x000D_AllowCreatePrivateChannels : True_x000D_AllowDeleteChannels : True_x000D_AllowAddRemoveApps : True_x000D_AllowCreateUpdateRemoveTabs : True_x000D_AllowCreateUpdateRemoveConnectors : True_x000D_AllowUserEditMessages : True_x000D_AllowUserDeleteMessages : True_x000D_AllowOwnerDeleteMessages : True_x000D_AllowTeamMentions : True_x000D_AllowChannelMentions : True_x000D_ShowInTeamsSearchAndSuggestions : True
Можно изменить описание группы и видимость:
get-team -DisplayName sysops| Set-Team -Description "SysOps Wiki Team" -Visibility "Public"
Изменить картинку группы:
get-team -DisplayName sysops | Set-TeamPicture -ImagePath c:ImageNewTeamPicture.png
Добавить пользователя в группу:
get-team -DisplayName sysops| Add-TeamUser -User [email protected]
Добавить владельца группы:
get-team -DisplayName sysops| Add-TeamUser -User [email protected] -Role Owner
Добавить пользователя во все команды:
$AllTeams = Get-Team
$UserToAdd = " [email protected] "
ForEach ($Team in $AllTeams)
{
Write-Host "Adding to $($Team.DisplayName)”
Add-TeamUser -GroupId $Team.GroupID -User $UserToAdd -Role Member
}
Вывести список пользователей и владельцев группы Teams:
get-team -DisplayName sysops|Get-TeamUse
Вывести членов всех групп Teams и владельцев:
$AllTeams = (Get-Team).GroupID
TeamList = @()
Foreach ($CurTeam in $AllTeams)
{ $TeamGUID = $CurTeam.ToString()
$TeamName = (Get-Team | ?{$_.GroupID -eq $CurTeam}).DisplayName
$TeamOwner = (Get-TeamUser -GroupId $CurTeam | ?{$_.Role -eq 'Owner'}).Name
$TeamMember = (Get-TeamUser -GroupId $CurTeam | ?{$_.Role -eq 'Member'}).Name
$TeamList = $TeamList + [PSCustomObject]@{TeamName = $TeamName; TeamObjectID = $TeamGUID; TeamOwners = $TeamOwner -join ', '; TeamMembers = $TeamMember -join ', '}
}
$TeamList |fl
Удалить пользователя из владельцев группы Teams и из команды:
get-team -DisplayName sysops| Remove-TeamUser -User [email protected] -Role Owner
get-team -DisplayName sysops| Remove-TeamUser -User [email protected]
Чтобы создать новый закрытый канал в существующей группе Teams, выполните:
get-team -DisplayName sysops| New-TeamChannel -DisplayName “Windows_Wiki” -MembershipType Private
ли
Добавим пользователя в канал и назначим его владельцем:
get-team -DisplayName sysops| Add-TeamChannelUser -DisplayName “Windows_Wiki” -User [email protected] -Role Owner
Для удаления из канала:
get-team -DisplayName sysops| Remove-TeamChannelUser -DisplayName “Windows_Wiki” -User [email protected] -Role Owner
Если команда Teams не активна, но вы хотите сделать ее контент доступным пользователям на чтение, можно ее заархивировать:
get-team -DisplayName sysops|Set-TeamArchivedState -Archived $true
Удалить канал:
get-team -DisplayName sysops | Remove-TeamChannel -DisplayName “Windows_Wiki”
Полностью удалить команду Teams:
get-team -DisplayName sysops | Remove-Team
Создать новую политику Teams:
New-CsTeamsMessagingPolicy –Identity CsTeamsExternalUsersPolicy -AllowGiphy $false -AllowMemes $false –AllowUserChat $false
Identity : Tag:CsTeamsExternalUsersPolicy_x000D_Description :_x000D_AllowUrlPreviews : True_x000D_AllowOwnerDeleteMessage : False_x000D_AllowUserEditMessage : True_x000D_AllowUserDeleteMessage : True_x000D_AllowUserDeleteChat : True_x000D_AllowUserChat : False_x000D_AllowRemoveUser : True_x000D_AllowGiphy : False_x000D_GiphyRatingType : Moderate_x000D_AllowGiphyDisplay : True_x000D_AllowPasteInternetImage : True_x000D_AllowMemes : False_x000D_AllowImmersiveReader : True_x000D_AllowStickers : True_x000D_AllowUserTranslation : True_x000D_ReadReceiptsEnabledType : UserPreference_x000D_AllowPriorityMessages : True_x000D_AllowSmartReply : True_x000D_AllowSmartCompose : True_x000D_ChannelsInChatListEnabledType : DisabledUserOverride_x000D_AudioMessageEnabledType : ChatsAndChannels_x000D_ChatPermissionRole : Restricted_x000D_AllowFullChatPermissionUserToDeleteAnyMessage : False_x000D_AllowFluidCollaborate : False_x000D_AllowVideoMessages : True
Назначить политику Teams на пользователя:
Grant-CsTeamsMessagingPolicy -Identity [email protected] -PolicyName CsTeamsExternalUsersPolicy
Или на всех пользователей с определенным атрибутом в AzureAD:
Get-CsOnlineUser -Filter {Department -like '*External*'} | Grant-CsTeamsMessagingPolicy -PolicyName CsTeamsExternalUsersPolicy
После завершения PowerShell сеанса не забудьте отключиться от Microsoft Teams:
Disconnect-MicrosoftTeams