Administrar equipos de Microsoft con PowerShell
El módulo PowerShell de Microsoft Teams está diseñado para administrar Teams desde la línea de comandos. Puede usar los comandos del módulo Teams para realizar rápidamente tareas administrativas comunes o en escenarios de automatización. En este artículo, mostraremos cómo instalar el módulo Teams PowerShell y veremos los comandos típicos que un administrador de Microsoft 365 puede necesitar para administrar Teams.
¿Cómo instalar el módulo PowerShell de Microsoft Teams?
Para instalar el módulo de Microsoft Teams, debe tener PowerShell 5.1 o posterior instalado en su computadora. Puede verificar la versión actual de PowerShell usando el siguiente comando:
$PSVersionTable.PSVersionSi es necesario, actualice su versión de PowerShell.
Puede instalar el módulo MS Teams desde la Galería de PowerShell con este comando:
Install-Module -Name MicrosoftTeams
Para asegurarse de que el módulo Teams esté instalado en su computadora y muestre su versión, ejecute el siguiente comando:
Get-Module MicrosoftTeams -ListAvailableTambién puede descargar e instalar el módulo PowerShell manualmente.
Puede instalar una versión específica del módulo Teams desde PSGallery. Lista de versiones de módulos disponibles:
Find-Module MicrosoftTeams -AllVersionsPara instalar una versión específica, ejecute el comando:
Install-Module -Name MicrosoftTeams -RequiredVersion 4.5.0Para actualizar el módulo PowerShell de MS Teams:
Update-Module -Name MicrosoftTeamsPuede mostrar una lista completa de cmdlets en el módulo:
Get-Command -Module MicrosoftTeams¿Cómo administrar equipos de Microsoft usando el módulo PowerShell?
Para conectarse a su inquilino de Teams en Microsoft 365, use este comando:
Connect-MicrosoftTeamsIntroduzca su nombre de usuario y contraseña. Si la cuenta de Azure del usuario tiene MFA habilitado, debe confirmar su inicio de sesión.
Para usar el módulo Teams, uno de los siguientes roles de Azure debe estar asignado a su cuenta:
Administrador global
Administrador del servicio de equipos
Administrador de comunicaciones de Teams
Ingeniero de soporte de comunicaciones de Teams
Especialista en soporte de comunicaciones de Teams
Para mostrar todos los equipos en su arrendatario:
Get-TeamsPara crear un nuevo equipo privado en Teams:
New-Team -DisplayName SysOpsAl crear un nuevo equipo, se crea automáticamente un grupo de Microsoft 365 con áreas de trabajo en áreas de trabajo de Yammer, PowerBI y SharePoint, así como un grupo de distribución de Exchange Online.
Para mostrar todos los ajustes del equipo:
get-team -DisplayName sysops|flGroupId : xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
InternalId : xxxxx@xxxx.xxxx
DisplayName : SysOps
Description : SysOps Wiki Team
Visibility : Public
MailNickName : msteams_xxx12a
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
Puedes cambiar la descripción y la visibilidad del equipo:
get-team -DisplayName sysops| Set-Team -Description "SysOps Wiki" -Visibility "Public"Para cambiar la imagen de un equipo:
get-team -DisplayName sysops | Set-TeamPicture -ImagePath c:\ps\corp_sysops.pngPara agregar un usuario al equipo:
get-team -DisplayName sysops| Add-TeamUser -User maxbak@a-d.sitePara agregar un propietario de equipo:
get-team -DisplayName sysops| Add-TeamUser -User maxbak@a-d.site -Role OwnerPuede agregar un usuario a todos los equipos de su arrendatario mediante un sencillo script de PowerShell:
$AllTeams = Get-Team
$UserToAdd = "maxbak@a-d.site"
ForEach ($Team in $AllTeams)
{
Write-Host "Adding to $($Team.DisplayName)"
Add-TeamUser -GroupId $Team.GroupID -User $UserToAdd -Role Member
}Para mostrar una lista de usuarios y propietarios de un equipo:
get-team -DisplayName sysops|Get-TeamUserPara mostrar los miembros de todos los grupos de Teams y sus propietarios:
$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 |flPara eliminar un usuario de los propietarios del equipo y de un equipo:
get-team -DisplayName sysops| Remove-TeamUser -User maxbak@a-d.site -Role Owner
get-team -DisplayName sysops| Remove-TeamUser -User maxbak@a-d.sitePara crear un nuevo canal privado en un equipo existente, ejecute el siguiente comando:
get-team -DisplayName sysops| New-TeamChannel -DisplayName "Windows_Wiki" -MembershipType PrivatePara agregar un usuario a un canal y asignarle un propietario:
get-team -DisplayName sysops| Add-TeamChannelUser -DisplayName “Windows_Wiki” -User maxbak@a-d.site -Role OwnerPara eliminar un usuario de un canal:
get-team -DisplayName sysops| Remove-TeamChannelUser -DisplayName "Windows_Wiki" -User maxbak@a-d.site -Role OwnerSi un equipo no está activo, pero desea permitir que los usuarios vean su contenido, puede archivar el equipo:
get-team -DisplayName sysops|Set-TeamArchivedState -Archived $truePara eliminar un canal:
get-team -DisplayName sysops | Remove-TeamChannel -DisplayName “Windows_Wiki”Para eliminar un equipo:
get-team -DisplayName sysops | Remove-TeamPuede crear una nueva política de Teams con New-CsTeamsMessagingPolicy:
New-CsTeamsMessagingPolicy -Identity polTeamsExternalUsers -AllowGiphy $false -AllowMemes $false -AllowUserChat $falseIdentity : Tag:polTeamsExternalUsers
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 : TruePara asignar una política de Teams a un usuario:
Grant-CsTeamsMessagingPolicy -Identity maxbak@a-d.site -PolicyName polTeamsExternalUsersO a todos los usuarios con el atributo específico en AzureAD:
Get-CsOnlineUser -Filter {Department -like '*External*'} | Grant-CsTeamsMessagingPolicy -PolicyName polTeamsExternalUsersDespués de que termine de trabajar en PowerShell, recuerde desconectarse de Microsoft Teams:
Disconnect-MicrosoftTeams






