Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede probar la aplicación de Microsoft Teams con datos de ejemplo con una suscripción de desarrollador Microsoft 365.
Requisitos previos
- Únase al Programa para desarrolladores de Microsoft 365, si no tiene un inquilino de prueba.
- Configurar una suscripción de desarrollador de Microsoft 365
- Use paquetes de datos de ejemplo con su suscripción de desarrollador de Microsoft 365 para instalar el paquete de contenido de usuarios.
- Instalar el módulo de PowerShell de Teams.
- Instale el módulo de PowerShell de Microsoft Graph.
Nota:
Debe tener permisos de administrador global en el inquilino para ejecutar los scripts.
Permitir a los usuarios cargar aplicaciones
De forma predeterminada, solo los administradores de servicios de Teams o de administrador global pueden cargar las aplicaciones personalizadas en un inquilino. También puede permitir que los usuarios carguen aplicaciones personalizadas para su propio uso o en equipos para realizar pruebas. Para obtener más información, consulte administrar la configuración y las directivas de aplicaciones personalizadas en Teams.
Crear equipos y canales para pruebas
Guarde el siguiente fragmento de código como un archivo .xml y anote la ruta de acceso del archivo. Este XML define la estructura del equipo y el canal que se crea junto con sus miembros:
<?xml version="1.0"?> <Teams> <Team Name="Store Portal" ID="storeportal" Description="" Type="Private" Creator="admin"> <Members> <Member UserName="AlexW" IsOwner="false"/> <Member UserName="PattiF" IsOwner="false"/> <Member UserName="PradeepG" IsOwner="false"/> <Member UserName="JoniS" IsOwner="false"/> <Member UserName="JohannaL" IsOwner="false"/> <Member UserName="NestorW" IsOwner="false"/> <Member UserName="IsaiahL" IsOwner="false"/> <Member UserName="AdeleV" IsOwner="false"/> <Member UserName="LeeG" IsOwner="false"/> <Member UserName="MeganB" IsOwner="true"/> <Member UserName="LynneR" IsOwner="false"/> <Member UserName="GradyA" IsOwner="false"/> <Member UserName="LidiaH" IsOwner="false"/> <Member UserName="DiegoS" IsOwner="false"/> <Member UserName="MiriamG" IsOwner="true"/> </Members> <Channels> <Channel Name="Sales" ID="sales" Description="" Creator="Admin" /> <Channel Name="Inventory" ID="inventory" Description="" Creator="Admin" /> <Channel Name="Los Angeles Store 239" ID="losangelesstore239" Description="" Creator="Admin" /> <Channel Name="Seattle Store 121" ID="seattlestore121" Description="" Creator="Admin" /> <Channel Name="Online" ID="online" Description="" Creator="Admin" /> <Channel Name="Store Layout" ID="storelayout" Description="" Creator="Admin" /> <Channel Name="Promotions" ID="promotions" Description="" Creator="Admin" /> </Channels> </Team> <Team Name="Mark 8 Project Team" ID="Mark8ProjectTeam" Description="Welcome to the team that we've assembled to create the Mark 8." Type="Private" Creator="admin"> <Members> <Member UserName="meganb" IsOwner="true" /> <Member UserName="alexw" IsOwner="false" /> <Member UserName="lynner" IsOwner="false" /> <Member UserName="isaiahl" IsOwner="false" /> <Member UserName="leeg" IsOwner="false" /> <Member UserName="pradeepg" IsOwner="false" /> <Member UserName="lidiah" IsOwner="false" /> <Member UserName="diegos" IsOwner="false" /> <Member UserName="johannal" IsOwner="false" /> <Member UserName="miriamg" IsOwner="false" /> <Member UserName="adelev" IsOwner="false" /> <Member UserName="jonis" IsOwner="false" /> <Member UserName="nestorw" IsOwner="false" /> <Member UserName="gradya" IsOwner="false" /> <Member UserName="pattif" IsOwner="false" /> </Members> <Channels> <Channel Name="Research and Development" ID="researchanddevelopment" Description="Channel for Research and Development!" Creator="meganb" /> <Channel Name="Design" ID="design" Description="Discuss design projects." Creator="meganb" /> <Channel Name="Digital Assets Web" ID="digitalassetsweb" Description="Discuss digital assets." Creator="meganb" /> <Channel Name="Go to Market Plan" ID="gotomarketplan" Description="Our go-to-market plan!" Creator="meganb" /> </Channels> </Team> <Team Name="District 9 Road Safety Audit" ID="district9roadsafetyaudit" Description="" Type="Private" Creator="admin"> <Members> <Member UserName="meganb" IsOwner="true" /> <Member UserName="alexw" IsOwner="false" /> <Member UserName="lynner" IsOwner="false" /> <Member UserName="isaiahl" IsOwner="false" /> <Member UserName="leeg" IsOwner="false" /> <Member UserName="pradeepg" IsOwner="false" /> <Member UserName="lidiah" IsOwner="false" /> <Member UserName="diegos" IsOwner="false" /> <Member UserName="johannal" IsOwner="false" /> <Member UserName="miriamg" IsOwner="false" /> <Member UserName="adelev" IsOwner="false" /> <Member UserName="jonis" IsOwner="false" /> <Member UserName="nestorw" IsOwner="false" /> <Member UserName="gradya" IsOwner="false" /> <Member UserName="pattif" IsOwner="false" /> </Members> <Channels> <Channel Name="Audit Planning" ID="auditplanning" Description="" Creator="Admin" /> <Channel Name="Delivery" ID="delivery" Description="" Creator="Admin" /> <Channel Name="Findings" ID="findings" Description="" Creator="Admin" /> <Channel Name="Recommended Actions" ID="recommendedactions" Description="" Creator="Admin" /> <Channel Name="Survey" ID="survey" Description="" Creator="Admin" /> </Channels> </Team> <Team Name="ACC-1000 Product Team" ID="acc1000productteam" Description="" Type="Private" Creator="admin" > <Members> <Member UserName="meganb" IsOwner="true" /> <Member UserName="alexw" IsOwner="false" /> <Member UserName="lynner" IsOwner="false" /> <Member UserName="isaiahl" IsOwner="false" /> <Member UserName="leeg" IsOwner="false" /> <Member UserName="pradeepg" IsOwner="false" /> <Member UserName="lidiah" IsOwner="false" /> <Member UserName="diegos" IsOwner="false" /> <Member UserName="johannal" IsOwner="false" /> <Member UserName="miriamg" IsOwner="false" /> <Member UserName="adelev" IsOwner="false" /> <Member UserName="jonis" IsOwner="false" /> <Member UserName="nestorw" IsOwner="false" /> <Member UserName="gradya" IsOwner="false" /> <Member UserName="pattif" IsOwner="false" /> </Members> <Channels> <Channel Name="Corporate Communication" ID="corporatecommunication" Description="" Creator="Admin" /> <Channel Name="Lean Process Improvement" ID="corporatecommunication" Description="" Creator="Admin" /> <Channel Name="Training and Certification" ID="trainingandcertification" Description="" Creator="Admin" /> <Channel Name="Production" ID="production" Description="" Creator="Admin" /> <Channel Name="Research and Development" ID="researchanddevelopment" Description="" Creator="Admin" /> <Channel Name="Supplier Collaboration" ID="suppliercollaboration" Description="" Creator="Admin" /> </Channels> </Team> </Teams>Guarde el siguiente fragmento de código como script de PowerShell (.ps1) y tenga en cuenta dónde lo ha guardado. Este script ejecuta los pasos para crear el equipo y el canal, y agregarles miembros:
Param( [Parameter(Mandatory = $true)] # This specifies the location of your configuration XML [string] $teamsFilePath ) [xml]$XmlDocument = Get-Content -Path $teamsFilePath.ToString() if ($XmlDocument.Teams.Team.Count -gt 0) { try { # 1. Connecting to Microsft Graph PowerShell. Connect-MgGraph -Scopes "Group.ReadWrite.All", "User.ReadWrite.All", "Channel.Create", "Team.Create" -ErrorAction Stop # Connect to Microsoft Teams PowerShell. Connect-MicrosoftTeams Write-Host "Connected to Microsoft 365 and configuring your organization with test teams and channels" # 2. Create the teams as specified in the XML foreach ($team in $XmlDocument.Teams.Team ) { try { $group = New-Team -DisplayName $team.Name -Description $team.description -visibility public Write-Host "Successfully created team: " $group.DisplayName } catch { Write-Host "Unable to create team: $_" } # 3. Add users to the newly created teams foreach ($user in $team.Members.Member) { try { # Lookup user by exact userPrincipalName $username = if ($user.UserName -match '@') { $user.UserName.ToLower() } else { "$($user.UserName.ToLower())@M365x15856998.onmicrosoft.com" } $userObject = Get-MgUser -Filter "userPrincipalName eq '$username'" -ConsistencyLevel eventual $newUserPrincipalName = $userObject.UserPrincipalName if ($user.IsOwner -eq $true) { Add-TeamUser -GroupId $group.GroupId -User $newUserPrincipalName -Role Owner | Out-Null } else { Add-TeamUser -GroupId $group.GroupId -User $newUserPrincipalName | Out-Null } Write-Host "Successfully added user : " $user.UserName } catch { Write-Host "Unable to add team user: $_" } } # 4. Add a set of channels to each newly created team foreach ($channel in $team.Channels.Channel) { try { # Adding each team channel New-TeamChannel -GroupId $group.GroupId -DisplayName $channel.Name -Description $channel.Description | Out-Null Write-Host "Successfully created channel: " $channel.Name } catch { Write-Host "Unable to add new Team Channel: $_" } } } # 5. Disconnect from all PowerShell sessions Write-Host "Completed execution and disconnecting from Microsoft 365 PowerShell sessions." Disconnect-MicrosoftTeams Disconnect-MgGraph } catch { Write-Host "Unable to complete the operation: $_" } } else { Write-Host "Content file has invalid data." }Abra una sesión de Windows PowerShell en modo de administrador y ejecute el script que guardó.
Cuando se le pida que proporcione las credenciales, escriba las credenciales de administrador global que recibió la primera vez que se registró para la suscripción de desarrollador.
Nota:
No cierre la sesión de PowerShell, ya que el script tarda varios minutos en ejecutarse. Si ha modificado los usuarios de su suscripción a partir de lo que se crea en el paquete de contenido predeterminado, es posible que algunos usuarios no se agreguen a Teams. A medida que se ejecuta el script, muestra acciones correctas o con error.
Cuando el script haya finalizado la ejecución, puede iniciar sesión en el cliente de Teams con una de las cuentas de usuario y ver los equipos recién creados.