Microsoft Teams: Complete Administration Guide
🏗️ Teams Architecture — What’s Under the Hood
💡 The Three-Layer Architecture
- SharePoint Online — Every Team has a backing SharePoint team site. Channel files live in that site’s document library (one folder per standard channel). Private and shared channels each get their own separate SharePoint site collection.
- Exchange Online — Teams meetings are Exchange calendar events. Calendar, free/busy, presence (“In a meeting”), room booking, voicemail, and meeting invites all flow through Exchange.
- Microsoft Entra ID — Every Team is backed by a Microsoft 365 Group. Team membership = Group membership = SharePoint site access. Guest accounts for external users are created in Entra ID.
📢 Channel Types
| Channel Type | Visibility | SharePoint Storage | Who Creates |
|---|---|---|---|
| Standard | All team members | Folder in team site document library | Any team member (if allowed by policy) |
| Private | Invited members only (subset of team) | Own separate SharePoint site collection | Any team member (if allowed by policy) |
| Shared | Invited users across multiple teams or orgs | Own separate SharePoint site collection | Team owner only |
⚠️ Key Interview Point
Files shared in 1:1 or group chats (not channels) are stored in the sender’s OneDrive and shared with the recipients — they do NOT go to the team’s SharePoint site. This distinction is frequently tested.
🌐 External Access vs Guest Access
| Aspect | External Access (Federation) | Guest Access |
|---|---|---|
| What it enables | Chat, call, and meet with users in other organisations | Add an outside user into your Team as a member |
| Directory impact | External user stays in their own tenant — no account created in yours | A guest B2B account is created in your Entra ID |
| Access to files/channels | None — they can only communicate, not see your teams or files | Full member-like access to channels, files, and meetings in the specific Team |
| Configured in | Teams admin center → External access | Teams admin center + Entra ID external collaboration settings |
| Managed per | Domain allow/block list at tenant level | Per-team by the team owner; controlled by Entra ID guest policies |
📋 Teams Policies
💡 Policy Types in Teams Admin Center
- Messaging policies — Control chat features: who can delete/edit messages, use read receipts, send GIFs, use priority notifications
- Meeting policies — Control meeting behaviour: who can bypass the lobby, recording permissions, screen sharing, transcription, Copilot in meetings
- Calling policies — Control voice features: private calling, voicemail, call forwarding, simultaneous ringing
- App setup policies — Pin specific apps to the Teams bar for all users in the policy group
- Teams policies — Control whether users can create teams, channels, or discover private teams
⚠️ Policy Assignment
Policies are assigned to users (not Teams). A user gets the policy assigned directly to them, or falls back to the Global (Org-wide default) policy if no user-level assignment exists. Policy changes can take up to 24 hours to propagate to all users.
Connect-MicrosoftTeams # Get all meeting policies Get-CsTeamsMeetingPolicy # Assign a meeting policy to a user Grant-CsTeamsMeetingPolicy -Identity user@domain.com -PolicyName "RestrictedMeetings" # Create a new messaging policy New-CsTeamsMessagingPolicy -Identity "NoGuestMessaging" -AllowGiphy $false -AllowImmersiveReader $false # List all teams in the tenant Get-Team | Select DisplayName, GroupId, Visibility
🔑 Teams Admin Roles
| Role | Access Level |
|---|---|
| Teams Administrator | Full Teams admin center access — all policies, meetings, calling, devices, apps |
| Teams Communications Administrator | Calling and meeting policies only — no broader Teams settings |
| Teams Communications Support Engineer | Read-only access to call quality data and user call records for troubleshooting |
| Teams Communications Support Specialist | Limited view of call quality data — can only see their own users’ records |
| Global Administrator | Full access — but should not be used for day-to-day Teams admin (least-privilege) |
📅 Teams + Exchange Online Integration
💡 How It Works
Teams meetings are Exchange Online calendar events. When a Teams meeting is scheduled, Teams adds the join link and meeting details to the event body, while Exchange handles the actual calendar entry, meeting invite, free/busy lookups, room/resource booking, and reminders. This shared foundation means Teams meetings appear in Outlook and vice versa, calendar-based presence (“In a meeting”) in Teams comes from Exchange data, and voicemail (if configured) is delivered to the Exchange mailbox.
⚠️ When the Teams Add-in Is Missing in Outlook
If the “New Teams Meeting” button is missing in classic Outlook, the Teams Meeting Add-in is not loaded. Common causes: add-in is disabled in Outlook’s COM add-ins list, the user’s mailbox is not on Exchange Online (on-premises only), the Teams desktop app is not installed or not updated, or policy blocks the add-in. Check Office COM Add-ins and ensure TeamsAddin.FastConnect is enabled.
🔄 Teams Lifecycle Management
💡 Creation, Expiry, and Archival
- Team creation — Controlled by Microsoft 365 Group creation policy in Entra ID. Restrict team creation to security group members to prevent sprawl.
- Expiry policy — Microsoft 365 Group expiry (configured in Entra ID) sends renewal notifications to owners. If not renewed, the Team (and its SharePoint site, mailbox, Planner) is deleted after a grace period.
- Archival — Teams can be archived (read-only, no new messages) without deletion. Archived teams preserve all content and can be unarchived. Use Teams admin center → Manage teams → Archive.
- Deletion — Deleted Teams go into a soft-delete state for 30 days and can be restored. After 30 days, permanent deletion of all content occurs.
💡 Best Practices & Recommendations
- Restrict team creation to IT or approved users via Entra ID Group creation policy to control sprawl from day one
- Use naming policies (prefix/suffix or blocked words) on M365 Groups to enforce consistent team naming conventions
- Configure a group expiry policy so unused teams are automatically flagged for renewal rather than accumulating indefinitely
- Use meeting policies to require lobby for anonymous participants and restrict recording to specific user groups
- Regularly review guest access using Entra ID access reviews — guest accounts in Teams have access to all files in that team’s SharePoint site
- Prefer Teams Administrator role over Global Admin for routine Teams administration — follow least-privilege
🎓 Common Interview Questions
📚 References & Further Reading
- 🔗 How SharePoint and OneDrive interact with Microsoft Teams — Microsoft Learn
- 🔗 Manage external access in Microsoft Teams — Microsoft Learn
- 🔗 Guest access in Microsoft Teams — Microsoft Learn
- 🔗 Overview of teams and channels in Microsoft Teams — Microsoft Learn
