15. OVERVIEW
ENABLING
User's mailbox is hosted in: Team and
Channel
Management
Create and view
meetings
Modify user
profile picture
Add and
configure
connectors
Add and
configure tabs
& bots
Info Protection
(eDiscovery)
For the full Microsoft Teams experience, every user should be
enabled for Exchange Online, SharePoint Online, OneDrive
for Business and Office 365 Group creation.
Exchange Online
Exchange Online
Dedicated vNext
Exchange Online Dedicated –
Legacy (Sync to Azure AD
required)
Exchange On-Premises
(Sync to Azure AD required)
Exchange 2016
CU3 or later
18. THE SCENES
Web Windows Mac
Angular
Electron
Desktop
jQuery, lodash etc.. (200+ Open Source Components)
TypeScript, Node, SASS
HTML5/CSS
C++ Objective C
Browsers: Edge, IE11, latest Chrome, latest Firefox
Desktop: Windows 10, 8.1, 7(SP1), Mac OS X 10.10+
WP iPhone/iPad Android
Mobile
UWP IOS Android
C# Swift Java
21. THE SCENES
Conversations are stored leveraging Azure
storage (blobs tables, queues) and exchange
for information protections
• Group property updates
• Group manager changes
• Group member changes
• Group hard delete
• User property updates
• User hard delete
What’s behind when a Team is created ?
• A SharePoint Online Site is created
• Team mailbox is created (exchange/sharepoint)
Operations performed on
Groups are synched to Microsoft
Teams
AAD Microsoft Teams
Teams persistent chat is
provided by a chat service that
interacts with Office 365 built on
the next generation cloud-based
infrastructure used by Skype and
S4B
chat
1:N chats : uploaded to O4B and permissions
are set for the members of the chat.
Team conversations: Uploaded to SharePoint.
A folder is associated with each channel in the
team
Files
15 mins
22. • ONE-TO-ONE CHAT
• ONE-TO-ONE CHAT WITH EXTERNAL USER
• CHAT WITHIN A CHANNEL
• MEETINGS RECORDING
• VOICEMAIL MESSAGES
TEAMS DATA
23. stored in a hidden folder within your mailbox
TEAMS DATA
• Stored in a hidden folder within your mailbox.
• Folder contains all of the conversations
• Each chat member retains their own copy.
This folder only exists for the purpose of data
retention, litigation holds, and compliance.
To discover the contents of this folder , search
through eDiscovery.
CONVERSATIONS
ONE-TO-ONE CHAT
24. ecurity and Compliance Center, you’ll start a Content Search
TEAMS DATA
ONE-TO-ONE CHAT
Security and Compliance Center > Content Search
Demo Tenant/13454566512
Sender/Author: Demo user
Sender/Author: Demo user
CONVERSATIONS
25. ecurity and Compliance Center, you’ll start a Content Search
TEAMS DATA
ONE-TO-ONE CHAT
FILES
OneDrive – Microsoft Teams Chat Files
26. ecurity and Compliance Center, you’ll start a Content Search
TEAMS DATA
NON-CHAT CHANNEL DATA
EMAIL GROUP
CHANNEL= SPO DOCLIB FOLDER
27. ecurity and Compliance Center, you’ll start a Content Search
TEAMS DATA
MEETINGS DATA
• MEETINGS recordings
are stored in Stream
• CHAT + FILES
chat files in folder (sharer) and chat
is available under Discovery.
* using Teams as phone, voicemail + transcripts are within user mailbox
29. • Enumerated content data and applicational assets
• Identified archive & useless content
• Plan : POC, Business user sponsors
• Reorganized content
• Migrate >Validate > Deploy
CASE SCENARIOS
30. Constraints:
• Client don’t want to open teams creation
globally, but in a contained manner
• No API for Migration to Microsoft Teams
and migrations are not supported
Context:
Multinational clients with >5TB of information
Leveraging Microsoft Teams for internal and external users
CASE SCENARIOS
31. Open teams creation in a contained manner:
• Enable group creation to a specific security group
PowerShell...
Connect-AzureAD
$Template = Get-AzureADDirectorySettingTemplate | Where-Object {$_.DisplayName -eq 'Group.Unified'}
$Setting = $Template.CreateDirectorySetting()
New-AzureADDirectorySetting -DirectorySetting $Setting
$Setting = Get-AzureADDirectorySetting -Id (Get-AzureADDirectorySetting | Where-Object -Property DisplayName -Value
"Group.Unified" -EQ).id
$Setting["EnableGroupCreation"] = $False
$Setting["GroupCreationAllowedGroupId"] = (Get-AzureADGroup -SearchString "AllowGroupsCreation").objectid
Set-AzureADDirectorySetting -Id (Get-AzureADDirectorySetting | Where-Object -Property DisplayName -Value "Group.Unified“
-EQ).id -DirectorySetting $Setting
CASE SCENARIOS
32. Migration to Microsoft Teams
CASE SCENARIOS
• No API was available for teams management
Not really state of the art … but it works:
• Screen scraping PowerShell managed scripts to create
teams for the migration
• Afterwards, migrate content to teams using usual
SharePoint Online migration tools
33. • Managed PowerShell script for team creations
PowerShell...
….
$ie = new-object -ComObject "InternetExplorer.Application"
$ie.Visible = $true
$ie.navigate($siteUrl)
while($ie.document.body.outerHTML -notMatch $elementToCheckifDOMisLoaded) {start-sleep -m $sleepTime};
## while( $ie.ReadyState -ne 4 ) { Start-Sleep -Milliseconds $sleepTime }
start-sleep -m $sleepTime
…..
$ie= OpenSite -ie ([ref]$ie) -siteUrl https://teams.microsoft.com -elementToCheckifDOMisLoaded "picture-load" -sleepTime 3000
$createTeam = @'
var content = $("[aria-label='Teams Toolbar button']");
$("[aria-label='Teams Toolbar button']").trigger("click")
$("[track-summary='Add Team']").trigger("click")
$("[translate-once='icons_team_create']").trigger("click")
'@
$result = ExecJavaScript $createTeam
Start-Sleep -Milliseconds $sleep
….
CASE SCENARIOS
http://bit.ly/MsTeamsPSModule
Alternative : PowerShell module for
Microsoft Teams using the rest API *
34. During the implementation, some of the problems we come across
CASE SCENARIOS
• Teams created with 2 site collections associated to it
Resolution: Delete Team + Recreate the team
• Teams created but with no site collection provisioned
Resolution: Create an Office Group; Promote it to team
• Users can't recreate a pre-existing channel name
Once a channel name has been created, even if it's deleted, it cannot
be recreated.
By renaming a channel, folder in SharePoint remains unchanged
Avoid renaming channel associated folders
35. During the implementation, some of the problems we come across
CASE SCENARIOS
• List of workspaces is not alphabetized
Users switching workspaces when adding a PowerBI tab will encounter
an unalphabetized list of workspaces to switch between.
• A team name with an & symbol breaks connector functionality
When a team name is created with the & symbol, connectors within the
Team/Group cannot be established
Resolution: recreate the team
• Can't save profile picture
Users can't save their profile picture when the Exchange Mailbox is
hosted (homed) on-premises.
36. Be Aware off …:
• No API to actually create object as is from one place to another
• Conversations migrated using rudimentary exportimport (html)
• Conversations cant be recreated as is
• PowerShell API (supported by MsGraph) not aligned with the DesktopWebClients
• Some Teams Features structure with continuous updatesreworks
CASE SCENARIOS