Управление Microsoft Teams с помощью PowerShell
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 InternalId : [email protected] DisplayName : SysOps Description : SysOps Wiki Team Visibility : Public MailNickName : msteams_cxx92d Classification : Archived : False AllowGiphy : True GiphyContentRating : moderate AllowStickersAndMemes : True AllowCustomMemes : True AllowGuestCreateUpdateChannels : False AllowGuestDeleteChannels : False AllowCreateUpdateChannels : True AllowCreatePrivateChannels : True AllowDeleteChannels : True AllowAddRemoveApps : True AllowCreateUpdateRemoveTabs : True AllowCreateUpdateRemoveConnectors : True AllowUserEditMessages : True AllowUserDeleteMessages : True AllowOwnerDeleteMessages : True AllowTeamMentions : True AllowChannelMentions : True 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 Description : AllowUrlPreviews : True AllowOwnerDeleteMessage : False AllowUserEditMessage : True AllowUserDeleteMessage : True AllowUserDeleteChat : True AllowUserChat : False AllowRemoveUser : True AllowGiphy : False GiphyRatingType : Moderate AllowGiphyDisplay : True AllowPasteInternetImage : True AllowMemes : False AllowImmersiveReader : True AllowStickers : True AllowUserTranslation : True ReadReceiptsEnabledType : UserPreference AllowPriorityMessages : True AllowSmartReply : True AllowSmartCompose : True ChannelsInChatListEnabledType : DisabledUserOverride AudioMessageEnabledType : ChatsAndChannels ChatPermissionRole : Restricted AllowFullChatPermissionUserToDeleteAnyMessage : False AllowFluidCollaborate : False 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
PowerShell
Управление Microsoft Teams с помощью PowerShell