SharePoint Online Administration: Complete Practical Course — Matching the SharePoint Admin Center & MS-102 Certification
The guide is structured around the actual SharePoint Admin Center navigation — covering Active Sites, Deleted Sites, Sharing Policies, Access Control, OneDrive Sync settings, Term Store, Content Type Gallery, Microsoft Syntex, Migration Center, and Tenant Settings — all with the latest 2025–2026 feature updates including Syntex AI models, the new Migration Manager, and the SharePoint Premium licensing changes.
🗺️ Course Module Map
Follow the SharePoint Admin Center left navigation in order — from the Home dashboard down to Tenant Settings — to build complete operational and certification-ready knowledge of SharePoint Online administration.
SharePoint Admin Center Overview
Dashboard metrics, navigation structure, classic vs modern admin center, and key operational views
Sites — Active Sites
Site collections, site types, Hub sites, storage quotas, ownership, and site lifecycle management
Sites — Deleted Sites
Recycle bin for site collections, restoration, permanent deletion, and retention considerations
Policies — Sharing
External sharing levels, anonymous links, link expiry, domain allow/block lists, file and folder sharing
Policies — Access Control
Unmanaged devices, network location (IP restrictions), idle session sign-out, app access control
Policies — Sync
OneDrive sync client restrictions, domain-join enforcement, blocked file extensions, Mac sync control
Content Services — Term Store
Managed Metadata Service, term groups, term sets, terms, and taxonomy governance
Content Services — Content Type Gallery
Content Type Hub, site content types, columns, and content type publishing across site collections
Microsoft Syntex & SharePoint Premium
AI content models, prebuilt extractors, content assembly, eSignature, and pay-as-you-go billing
Migration Center
SPMT, Migration Manager, on-premises SharePoint, file shares, Google Workspace, Box, and Dropbox migration
Settings & Tenant Configuration
Site creation, storage limits, CDN, notifications, default sharing links, and tenant-wide settings
MS-102 Certification Alignment
Exam domains, SharePoint skill weightings, scenario tips, and study resources
🏠 Module 1: SharePoint Admin Center Overview
The SharePoint Admin Center is accessible at admin.sharepoint.com or via Microsoft 365 Admin Center → Show all → SharePoint. It provides a unified management console for all SharePoint Online site collections, governance policies, content services, and migration tools across your tenant.
Home Dashboard — Key Metrics & Cards
| Dashboard Card | What It Shows | Go Deeper |
|---|---|---|
| Active sites | Total number of site collections currently active in the tenant — broken down by type (Team, Communication, Channel, OneDrive) | Sites → Active sites |
| Total storage used | Tenant-wide storage consumption vs total allocated storage — bar chart with percentage utilisation | Reports → SharePoint → Site usage |
| Sharing activity | Number of files shared externally in the last 30 days — trend and breakdown | Policies → Sharing |
| Guest users | Count of active external/guest accounts accessing SharePoint content in the tenant | Active sites → Per-site guest user count |
| Service health | SharePoint Online service health and active incidents — links to M365 Service Health | Microsoft 365 Admin Center → Service health |
SharePoint Admin Center Navigation
📁 Sites
🔒 Policies
📄 Content services
📤 Migration
⚙️ Settings
📊 Reports
💡 Modern vs Classic SharePoint Admin Center
Microsoft has fully migrated almost all settings to the modern SharePoint Admin Center (admin.sharepoint.com). The classic admin center (accessed via Settings → Classic features) is retained only for legacy features including InfoPath Forms Services, Business Connectivity Services (BCS), and some legacy site collection settings. For all new configurations and MS-102 exam purposes, focus entirely on the modern admin center.
📁 Module 2: Sites — Active Sites
The Active sites blade is the primary operational view for SharePoint Online administrators. It lists every site collection in the tenant with key metadata — URL, title, template, storage used, sharing settings, hub association, and owners — and allows inline editing, bulk operations, and site creation directly from the interface.
SharePoint Site Collection Types
| Site Type | Template Code | Use Case | Has M365 Group |
|---|---|---|---|
| Team site (with Group) | GROUP#0 | Project collaboration, team workspaces — connected to Microsoft 365 Group with shared mailbox, Teams, Planner | Yes |
| Team site (no Group) | STS#3 | Departmental repositories, intranet subsites, standalone document management without a Group | No |
| Communication site | SITEPAGEPUBLISHING#0 | Broadcast-style content — company intranet, HR policies, company news, portals for large audiences | No |
| Hub site | Any template | Logical grouping of related sites — shared navigation, search scope, theming across associated sites | Optional |
| Channel site | TEAMCHANNEL#1 | Dedicated SharePoint site for a Private or Shared channel in Microsoft Teams | No (Channel-scoped) |
| OneDrive site | SPSPERS#10 | Personal document storage for each licensed user — managed separately in the OneDrive admin blade | No |
| Document Center | BDR#0 | Centralised document management with document ID service, content organiser, and workflow capabilities | No |
Hub Site Architecture
A Hub site is any existing SharePoint site registered as a hub — it becomes a logical parent for associated sites. Hub sites enable:
- Shared navigation — the hub navigation bar appears on all associated sites
- Unified search — searching from an associated site searches across the entire hub
- Shared theming — consistent branding pushed from the hub to associated sites
- Rollup web parts — News, Highlighted content, and Events web parts aggregate content from all associated sites
Inventory All Sites, Create New Sites & Manage Hub Associations
Export a full site inventory, create new Team and Communication sites, register a hub, and associate sites to it using the SharePoint Online Management Shell.
# Install and connect to SharePoint Online Install-Module Microsoft.Online.SharePoint.PowerShell -Force Connect-SPOService -Url "https://contoso-admin.sharepoint.com" # Export full site collection inventory Get-SPOSite -Limit All | Select-Object Url,Title,Template,StorageUsageCurrent,StorageQuota,SharingCapability,HubSiteId,IsHubSite,Owner | Export-Csv -Path "AllSiteCollections.csv" -NoTypeInformation # Create a new Team site (no M365 Group) New-SPOSite -Url "https://contoso.sharepoint.com/sites/ITDept" ` -Owner "admin@contoso.com" ` -StorageQuota 5120 ` -Template "STS#3" ` -Title "IT Department" # Create a Communication site New-SPOSite -Url "https://contoso.sharepoint.com/sites/CompanyIntranet" ` -Owner "admin@contoso.com" ` -StorageQuota 10240 ` -Template "SITEPAGEPUBLISHING#0" ` -Title "Company Intranet" # Register a site as a Hub site Register-SPOHubSite -Site "https://contoso.sharepoint.com/sites/CorporateHub" # Associate a child site to a Hub Add-SPOHubSiteAssociation ` -Site "https://contoso.sharepoint.com/sites/ITDept" ` -HubSite "https://contoso.sharepoint.com/sites/CorporateHub" # Get all Hub sites in the tenant Get-SPOHubSite | Select-Object SiteUrl,Title,SiteId | Format-Table -AutoSize # Update storage quota on a site Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/ITDept" -StorageQuota 10240 -StorageQuotaWarningLevel 9216 # Find sites approaching storage limit (above 90%) Get-SPOSite -Limit All | Where-Object {$_.StorageQuota -gt 0 -and ($_.StorageUsageCurrent / $_.StorageQuota) -gt 0.9} | Select-Object Url,Title,StorageUsageCurrent,StorageQuota | Format-Table -AutoSize
♻️ Module 3: Sites — Deleted Sites & Recycle Bin
When a site collection is deleted in SharePoint Online, it enters a 93-day retention window in the Deleted Sites blade (the site collection recycle bin). During this period it can be fully restored with all content intact. After 93 days — or if permanently deleted — the site and all its content are unrecoverable without a Microsoft support case.
Site Deletion Lifecycle
| Stage | Location | Duration | Restorable? |
|---|---|---|---|
| Active site | Sites → Active sites | Until deleted | N/A — not deleted |
| Deleted site (recycle bin) | Sites → Deleted sites | 93 days from deletion | Yes — full restore by admin |
| Permanently deleted | Not visible in admin center | Permanent | No — contact Microsoft Support within 14 days of permanent deletion only |
| Site within M365 Retention Policy | Compliance Center Preservation Hold Library | Until retention period ends | Content preserved in Preservation Hold Library even after deletion |
Manage Deleted Sites — List, Restore & Permanently Delete
Review all sites in the deleted site recycle bin, restore accidentally deleted sites, and permanently remove obsolete sites that are no longer required.
Connect-SPOService -Url "https://contoso-admin.sharepoint.com" # List all sites in the deleted site recycle bin Get-SPODeletedSite -Limit All | Select-Object Url,Title,DaysRemaining,StorageUsageCurrent | Sort-Object DaysRemaining | Format-Table -AutoSize # Restore a deleted site collection (within 93 days) Restore-SPODeletedSite -Identity "https://contoso.sharepoint.com/sites/ProjectBeta" Write-Host "Site restored successfully." # Permanently delete a specific site from recycle bin Remove-SPODeletedSite -Identity "https://contoso.sharepoint.com/sites/OldProject2023" # Delete an active site (moves to deleted sites recycle bin) Remove-SPOSite -Identity "https://contoso.sharepoint.com/sites/ObsoleteTeam" # Find deleted sites expiring within 7 days — urgent restore window Get-SPODeletedSite -Limit All | Where-Object {$_.DaysRemaining -le 7} | Select-Object Url,Title,DaysRemaining | Format-Table -AutoSize
🔗 Module 4: Policies — Sharing & External Access
The Sharing policy is one of the most governance-critical settings in SharePoint Online. It controls whether external users can be invited to sites and documents, what type of sharing links can be created, and how long anonymous access links remain valid. Sharing is configured at two levels: tenant-wide (the maximum allowed for the whole organisation) and per-site (can be more restrictive than tenant, never more permissive).
External Sharing Levels — Tenant & Site
| Sharing Level | Who Can Access | Sign-in Required | Suitable For |
|---|---|---|---|
| Anyone (most permissive) | Anyone with the link — no account required | No — anonymous access | Public-facing content, marketing assets, event registrations |
| New and existing guests | External users who are invited for the first time or already have a guest account | Yes — Microsoft account, OTP, or work account | Project collaboration with external partners who need a persistent account |
| Existing guests only | External users already in the tenant’s directory (previously invited) | Yes — existing guest account | Controlled external sharing — only pre-approved external users |
| Only people in your organisation (most restrictive) | Internal users only — no external sharing possible | Yes — org account required | Internal HR, Finance, Legal sites; sensitive data sites |
Sharing Link Types
| Link Type | Who Can Use It | Expiry Supported | Default Scope |
|---|---|---|---|
| Anyone link (anonymous) | Literally anyone — no sign-in; can be forwarded freely | Yes — mandatory expiry recommended (max 30 days) | Requires “Anyone” sharing level at tenant and site |
| People in your organisation link | All authenticated internal users only — no guest access | No | Available when sharing is set to any level |
| People with existing access | Only users already with permissions to the item — a convenient link, not a grant | No | Always available regardless of sharing settings |
| Specific people link | Named users (internal or external) who are granted access via the link | No — access persists until revoked | Requires guest-level sharing enabled for external recipients |
Configure Tenant & Site Sharing Policies & Audit External Users
Set tenant-level and site-level sharing capabilities, configure anonymous link expiry, and export all external users across the tenant for a sharing access review.
Connect-SPOService -Url "https://contoso-admin.sharepoint.com" # Check current tenant-wide sharing settings Get-SPOTenant | Select-Object SharingCapability,DefaultSharingLinkType,RequireAnonymousLinksExpireInDays,FileAnonymousLinkType,FolderAnonymousLinkType,SharingAllowedDomainList,SharingBlockedDomainList # Set tenant sharing level # Options: Disabled | ExistingExternalUserSharingOnly | ExternalUserSharingOnly | ExternalUserAndGuestSharing Set-SPOTenant -SharingCapability ExternalUserSharingOnly # Require anonymous links to expire after 14 days Set-SPOTenant -RequireAnonymousLinksExpireInDays 14 # Block anonymous file links (allow for folder-level only) Set-SPOTenant -FileAnonymousLinkType View # Set default sharing link to Specific people (Direct) Set-SPOTenant -DefaultSharingLinkType Direct # Restrict external sharing to approved domains only (allow list) Set-SPOTenant -SharingDomainRestrictionMode AllowList -SharingAllowedDomainList "partner.com fabrikam.com" # Allow external sharing on a specific collaboration site Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/ExtCollab" -SharingCapability ExternalUserAndGuestSharing # Lock down Finance site to internal users only Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/Finance" -SharingCapability Disabled # Export all external (guest) users across the tenant Get-SPOExternalUser -Limit All | Select-Object DisplayName,Email,AcceptedAs,WhenCreated,InvitedBy,UniqueId | Export-Csv -Path "TenantExternalUsers.csv" -NoTypeInformation Write-Host "External user report exported."
🔐 Module 5: Policies — Access Control
The Access Control blade governs how users access SharePoint — regardless of whether they have permission. It provides conditional access controls for unmanaged (non-compliant) devices, network location restrictions, and idle session sign-out, directly integrated with Microsoft Entra Conditional Access.
Unmanaged Device Access Policies
| Policy Level | What Users Experience | Download/Print | Use When |
|---|---|---|---|
| Full access (default) | Normal SharePoint experience on any device | Allowed | No device compliance requirement — open access |
| Limited, web-only access | Browser-only access — no sync, no downloading, no native app access; files open in Office Online only | Blocked | BYOD / unmanaged devices needing read access without data exfiltration risk |
| Block access | Access completely blocked from unmanaged devices — users see “You can’t access this from here” error | N/A — blocked | High-security sites or tenants requiring Intune-enrolled devices for all access |
Configure Access Control Policies — Unmanaged Devices & Network Location
Set the unmanaged device policy at tenant and site level, configure IP-based network location restrictions, and enable idle session sign-out to reduce overstayed sessions.
Connect-SPOService -Url "https://contoso-admin.sharepoint.com" # Get current access control settings Get-SPOTenant | Select-Object ConditionalAccessPolicy,IPAddressEnforcement,IPAddressAllowList,EmailAttestationRequired # Set tenant-wide unmanaged device policy # Options: AllowFullAccess | AllowLimitedAccess | BlockAccess Set-SPOTenant -ConditionalAccessPolicy AllowLimitedAccess # Override to block access on a sensitive site (Finance) Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/Finance" -ConditionalAccessPolicy BlockAccess # Allow full access on a specific site regardless of tenant policy Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/PublicIntranet" -ConditionalAccessPolicy AllowFullAccess # Restrict access to specific IP ranges (network location policy) Set-SPOTenant -IPAddressEnforcement $true ` -IPAddressAllowList "203.0.113.0/24,192.168.10.0/24,10.0.0.0/8" # Enable idle session sign-out Set-SPOTenant -SignOutWhenCredentialsExpire $true # Require email verification for guests on unmanaged devices every 30 days Set-SPOTenant -EmailAttestationRequired $true -EmailAttestationReAuthDays 30
🔁 Module 6: Policies — Sync
The Sync blade controls how the OneDrive sync client (OneDrive.exe on Windows and Mac) synchronises SharePoint Online libraries to user devices. Sync policy misconfigurations are a common source of data exfiltration risk — especially allowing sync on personal (non-domain-joined) devices.
Key Sync Policy Settings
| Setting | Description | Recommended |
|---|---|---|
| Allow syncing only on PCs joined to specific domains | Restricts OneDrive sync to devices that are domain-joined (on-prem AD or Hybrid Azure AD) with specified domain GUIDs | Enable — prevents personal devices from syncing corporate files |
| Block sync on Mac | Prevents the OneDrive sync client on macOS from syncing SharePoint libraries | Evaluate — block if Macs are not managed via Intune or Jamf |
| Block upload of specific file extensions | Prevents files matching specific extensions (.tmp, .exe, .vhd, .iso, etc.) from being synced to SharePoint | Block .tmp, .bak and other temporary extensions at minimum |
| Show notification to users when OneDrive is throttled | Alerts users when their sync is being rate-limited by SharePoint Online | Enable — reduces helpdesk calls |
Configure OneDrive Sync Client Restrictions
Restrict sync to domain-joined devices only, block Mac sync, and block specific file extensions from being synced to SharePoint libraries.
Connect-SPOService -Url "https://contoso-admin.sharepoint.com" # Get current sync client restriction settings Get-SPOTenantSyncClientRestriction # Allow sync only on devices joined to specific AD domains # Get domain GUIDs: Get-ADDomain | Select-Object ObjectGUID (run on a DC) Set-SPOTenantSyncClientRestriction -Enable ` -DomainGuids @("your-domain-guid-1", "your-domain-guid-2") # Block OneDrive sync on Mac devices Set-SPOTenant -BlockMacSync $true # Block specific file extensions from being synced to SharePoint Set-SPOTenant -ExcludedFileExtensionsForSyncClient @(".tmp", ".vhd", ".iso", ".bak", ".log") # Verify the sync restriction status Get-SPOTenantSyncClientRestriction | Select-Object TenantRestrictionEnabled,AllowedDomainList # Disable sync restrictions (revert to open sync) Set-SPOTenantSyncClientRestriction -Disable
📄 Module 7: Content Services — Term Store
The Term Store is the Managed Metadata Service (MMS) for SharePoint Online. It provides a centralised, hierarchical taxonomy that can be used across all site collections for consistent metadata tagging, content classification, and navigation. Term store metadata is especially powerful in SharePoint content management, document libraries, and enterprise search.
Term Store Hierarchy
| Level | Object | Example | Managed By |
|---|---|---|---|
| 1 (Top) | Term Store | Tenant-wide taxonomy service | Term Store Administrator (assigned in admin center) |
| 2 | Term Group | “Company Taxonomy”, “HR”, “Legal” | Group Manager (assigned per group) |
| 3 | Term Set | “Departments”, “Document Types”, “Project Status” | Term Set Contact; Group Manager |
| 4 (Leaf) | Term | “Engineering”, “Policy”, “Active” | Any user with Contribute or higher in term store |
Manage Term Store — Groups, Term Sets & Terms
Use PnP PowerShell to read and manage the term store — the SharePoint Online Management Shell does not expose term store management cmdlets.
# Install PnP PowerShell (if not already installed) Install-Module PnP.PowerShell -Force # Connect to SharePoint Online Connect-PnPOnline -Url "https://contoso.sharepoint.com" -Interactive # Get all term groups in the term store Get-PnPTermGroup | Select-Object Name,Id,Description | Format-Table -AutoSize # Get all term sets within a specific group Get-PnPTermSet -TermGroup "Company Taxonomy" | Select-Object Name,Id,IsAvailableForTagging,Contact | Format-Table -AutoSize # Get all terms in a term set Get-PnPTerm -TermSet "Departments" -TermGroup "Company Taxonomy" | Select-Object Name,Id,IsAvailableForTagging | Format-Table -AutoSize # Create a new term group, term set, and terms New-PnPTermGroup -Name "Finance Taxonomy" New-PnPTermSet -Name "Cost Centres" -TermGroup "Finance Taxonomy" -Lcid 1033 $TermsToCreate = @("CC-100 Operations", "CC-200 Sales", "CC-300 Marketing", "CC-400 IT") foreach ($TermName in $TermsToCreate) { New-PnPTerm -Name $TermName -TermSet "Cost Centres" -TermGroup "Finance Taxonomy" -Lcid 1033 Write-Host "Created term: $TermName" } # Export full taxonomy to CSV $Export = @() Get-PnPTermGroup | ForEach-Object { $Group = $_ Get-PnPTermSet -TermGroup $Group.Name | ForEach-Object { $Set = $_ Get-PnPTerm -TermSet $Set.Name -TermGroup $Group.Name | ForEach-Object { $Export += [PSCustomObject]@{ Group=$Group.Name; TermSet=$Set.Name; Term=$_.Name; Id=$_.Id } } } } $Export | Export-Csv -Path "TaxonomyExport.csv" -NoTypeInformation
📄 Module 8: Content Services — Content Type Gallery
The Content Type Gallery in the SharePoint Admin Center is the modern interface for the Content Type Hub — a special site collection (typically at /sites/ContentTypeHub) that acts as the central publisher for content types, site columns, and document templates that are pushed down to all site collections in the tenant.
Content Type Hub Architecture
| Object | Description | Example |
|---|---|---|
| Content Type Hub site | The publisher site — all content types defined here are published tenant-wide | https://contoso.sharepoint.com/sites/ContentTypeHub |
| Site column | Reusable metadata column defined at hub level — referenced by content types | Document Owner (Person), Retention Category (Choice), Project Code (Text) |
| Content type | Named collection of site columns (and a document template) — defines what metadata a document of this type should carry | Contract (extends Document with Client Name, Contract Value, Expiry Date columns) |
| Published content type | Content type published from the hub to subscribing site collections — can be activated in document libraries | Contract content type available in all legal team sites |
Manage Content Types & Site Columns via PnP PowerShell
Create site columns, build content types from those columns, and publish them from the Content Type Hub to all site collections using PnP PowerShell.
# Connect to the Content Type Hub site Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/ContentTypeHub" -Interactive # Get all content types in the hub Get-PnPContentType | Select-Object Name,Id,Group,Description | Sort-Object Group,Name | Format-Table -AutoSize # Get all custom site columns in the hub Get-PnPField | Where-Object {$_.Group -eq "Contoso Columns"} | Select-Object InternalName,Title,TypeAsString,Required | Format-Table -AutoSize # Create a new site column (Choice type) at the hub Add-PnPField -DisplayName "Retention Category" ` -InternalName "RetentionCategory" ` -Type Choice ` -Group "Contoso Columns" ` -Choices @("7 Years","3 Years","1 Year","Permanent") # Create a content type inheriting from Document (0x0101) Add-PnPContentType -Name "Corporate Contract" ` -Description "Content type for corporate contracts and legal agreements" ` -Group "Contoso Content Types" ` -ParentContentType (Get-PnPContentType -Identity "0x0101") # Add columns to the content type Add-PnPFieldToContentType -Field "RetentionCategory" -ContentType "Corporate Contract" # Get the content type ID for publishing $CTId = (Get-PnPContentType -Identity "Corporate Contract").Id.StringValue Write-Host "Content Type ID to publish: $CTId"
🧠 Module 9: Microsoft Syntex & SharePoint Premium
Microsoft Syntex — rebranded as part of SharePoint Premium in 2024 — brings AI-powered content intelligence to SharePoint Online. It automates content classification, metadata extraction, document processing, and content assembly using AI models applied directly to document libraries. SharePoint Premium uses pay-as-you-go billing through an Azure subscription or capacity-based licensing.
SharePoint Premium / Syntex Capabilities
| Capability | What It Does | Billing Model | 2025–2026 Status |
|---|---|---|---|
| Unstructured document processing | Custom AI model trained on your documents — classifies documents and extracts metadata (entities, dates, amounts) automatically when files land in a library | Per processed file (pay-as-you-go) | GA — most mature model type |
| Prebuilt document processing | Microsoft-trained models for invoices, receipts, contracts, and business cards — no custom training needed | Per processed file | GA — invoice and receipt models widely used |
| Freeform document processing | AI Builder Form Processing for structured/semi-structured forms — extracts tabular data from PDFs and images | AI Builder credits (per page) | GA — requires Power Platform licensing |
| Content assembly | Generate new documents from templates using SharePoint list data — merge metadata into Word templates automatically | Pay-as-you-go or per-user | GA — automates contracts, letters, reports |
| eSignature | Request electronic signatures on SharePoint documents directly — integrated with Adobe Acrobat Sign | Per signature request | GA — Adobe integration; DocuSign connector available |
| SharePoint Embedded | Embed SharePoint content repositories inside custom applications using Microsoft Graph API | Per container/consumption | GA — ISV and enterprise custom app scenario |
| Taxonomy tagging | Automatically tag documents with term store terms based on AI content analysis — no model training required | Per processed file | GA — works with existing term store |
💡 SharePoint Premium Licensing (2025–2026)
SharePoint Premium is available in two modes: Per-user licensing (included in Microsoft 365 E5 or as an add-on ~$40/user/month) for unlimited access to all premium features, or pay-as-you-go via Azure billing for processing specific content on demand. The pay-as-you-go model is ideal for organisations that need to process a large batch of legacy documents for migration without committing to per-user licensing across the entire organisation.
📤 Module 10: Migration Center
The SharePoint Admin Center Migration blade provides access to the two primary Microsoft migration tools: the SharePoint Migration Tool (SPMT) for on-premises SharePoint Server migration, and Migration Manager for file share, Google Workspace, Box, Dropbox, and Egnyte migrations to SharePoint Online and OneDrive.
Migration Sources Supported
| Migration Source | Tool | What Migrates | Recommended For |
|---|---|---|---|
| SharePoint Server 2013/2016/2019/SE | SPMT or Migration Manager | Site collections, lists, libraries, permissions, metadata, version history | Full on-premises SharePoint migration to SPO |
| Windows file shares (SMB/DFS) | Migration Manager (agent-based) | Folder structures, files, permissions (partial), timestamps | Decommissioning file servers — migrate to SharePoint/OneDrive |
| Google Workspace (Drive) | Migration Manager → Google | Google Docs, Sheets, Slides converted to Office format; Drive folders → SharePoint/OneDrive | Google to M365 tenant migration |
| Box | Migration Manager → Box | Files, folders, metadata (partial), shared links | Box to SharePoint/OneDrive migration |
| Dropbox | Migration Manager → Dropbox | Files and folder structure — no permissions migrated | Dropbox Business to SharePoint/OneDrive migration |
| Egnyte | Migration Manager → Egnyte | Files and folders — permissions partial | Egnyte to SharePoint/OneDrive migration |
Pre-Migration Assessment & SPMT Task Automation
Run a pre-migration scan with the SharePoint Migration Assessment Tool (SMAT) and create SPMT migration tasks via PowerShell to automate large-scale SharePoint Server migrations.
# Install the SPMT PowerShell module Install-Module Microsoft.SharePoint.MigrationTool -Force # Connect SharePoint Online credentials for migration $SPOCredential = Get-Credential # Enter admin@contoso.com credentials # Register SPMT session Register-SPMTMigration -SPOCredential $SPOCredential # Add task: File share → SharePoint Online Add-SPMTTask -FileShareSource "\\fileserver01\IT-Department" ` -TargetSiteUrl "https://contoso.sharepoint.com/sites/ITDept" ` -TargetList "Documents" # Add task: SharePoint Server site → SharePoint Online Add-SPMTTask -SharePointSourceSiteUrl "http://sp2019.contoso.local/sites/HR" ` -SharePointSourceCredential (Get-Credential) ` -TargetSiteUrl "https://contoso.sharepoint.com/sites/HR" # Start the migration Start-SPMTMigration # Monitor migration status in real time Show-SPMTMigration # Stop migration if needed Stop-SPMTMigration
⚠️ Migration Best Practices
- Always run a pre-migration scan with the SharePoint Migration Assessment Tool (SMAT) to identify unsupported features (InfoPath, classic workflows, BCS) before starting migration
- Migrate in phases — start with non-critical sites and iterate before migrating executive or business-critical content
- Permissions migration is partial for file share migrations — plan to recreate SharePoint permissions using Entra ID groups rather than individual user permissions
- Google Docs, Sheets, and Slides are converted to Office format (.docx, .xlsx, .pptx) during migration — test fidelity of complex documents before communicating completion to users
- Run incremental passes in the weeks leading to cutover to keep delta small — do a final pass during the cutover window
⚙️ Module 11: Settings & Tenant Configuration
The Settings section of the SharePoint Admin Center controls tenant-wide defaults that affect every site collection and user in the organisation — from where new sites are created, to default storage quotas, content delivery network (CDN) settings, and notifications.
Key Tenant-Wide Settings
| Setting | Description | PowerShell Property | Default |
|---|---|---|---|
| Self-service site creation | Whether non-admin users can create new SharePoint sites from the SharePoint start page | SelfServiceSiteCreationDisabled | Enabled (users can create) |
| Default site storage limit | Storage quota assigned to each new site collection when no explicit quota is set | StorageQuota (in MB) | 25,600 MB (25 GB) per site |
| Tenant total storage | Total pooled storage for the tenant — 1 TB base + 10 GB per licensed user | StorageQuotaAllocated | Depends on licence count |
| Office Online → SharePoint | Whether documents open in the browser (Office Online) or desktop app by default | DefaultLinkType / per-site | Browser (Office Online) default |
| Public CDN | Serve static assets (images, CSS, JS) from SharePoint libraries via Azure CDN for performance | Set-SPOTenantCdnEnabled | Disabled |
| Private CDN | Cache private content (master pages, display templates) on edge nodes for faster intranet performance | Set-SPOTenantCdnEnabled (Private) | Disabled |
| SharePoint home | URL of the home site — the root intranet destination for the organisation, set as the default SharePoint start page | Set-SPOHomeSite | SharePoint start page (no custom home site) |
Configure Tenant Settings, CDN & Home Site
Review and update key tenant-wide SharePoint settings including self-service site creation, CDN enablement, home site configuration, and storage quota reporting.
Connect-SPOService -Url "https://contoso-admin.sharepoint.com" # View all tenant-level settings Get-SPOTenant | Format-List # Disable self-service site creation (only admins can create sites) Set-SPOTenant -SelfServiceSiteCreationDisabled $true # Set default storage quota for new sites (in MB) Set-SPOTenant -StorageQuota 10240 # 10 GB default per new site # Report tenant storage usage vs total allocation $Tenant = Get-SPOTenant Write-Host "Total Storage Allocated: $([math]::Round($Tenant.StorageQuotaAllocated/1024,1)) GB" Write-Host "Total Storage Used: $([math]::Round((Get-SPOSite -Limit All | Measure-Object StorageUsageCurrent -Sum).Sum/1024,1)) GB" # Enable the Public CDN for static site assets Set-SPOTenantCdnEnabled -CdnType Public -Enable $true # Add a CDN origin library Add-SPOTenantCdnOrigin -CdnType Public -OriginUrl "/sites/CompanyIntranet/SiteAssets" # List all CDN origins Get-SPOTenantCdnOrigins -CdnType Public # Set the organisational Home site (root intranet) Set-SPOHomeSite -HomeSiteUrl "https://contoso.sharepoint.com/sites/Intranet" # Get the current home site Get-SPOHomeSite
Audit Site Permissions & Site Collection Administrators
Identify all site collection administrators across every site, detect sites with no active admins, and report on guest user access per site for a security governance review.
Connect-SPOService -Url "https://contoso-admin.sharepoint.com" # Get all site collection administrators across all sites $Sites = Get-SPOSite -Limit All -IncludePersonalSite $false $AdminReport = @() foreach ($Site in $Sites) { $Admins = Get-SPOUser -Site $Site.Url -Limit All | Where-Object {$_.IsSiteAdmin} if ($Admins) { foreach ($Admin in $Admins) { $AdminReport += [PSCustomObject]@{ SiteUrl = $Site.Url SiteTitle = $Site.Title Admin = $Admin.LoginName AdminName = $Admin.DisplayName } } } else { $AdminReport += [PSCustomObject]@{ SiteUrl = $Site.Url SiteTitle = $Site.Title Admin = "NO ADMIN" AdminName = "NO ADMIN" } } } $AdminReport | Export-Csv -Path "SiteAdminReport.csv" -NoTypeInformation # Flag sites with no site collection admin (governance gap) $AdminReport | Where-Object {$_.Admin -eq "NO ADMIN"} | Format-Table SiteUrl,SiteTitle # Get all guest users on a specific site (login name contains #ext#) Get-SPOUser -Site "https://contoso.sharepoint.com/sites/ExtCollab" -Limit All | Where-Object {$_.LoginName -like "*#ext#*"} | Select-Object DisplayName,LoginName,IsSiteAdmin | Format-Table -AutoSize
🎓 Module 12: MS-102 Certification Alignment
SharePoint Online administration is tested within the MS-102: Microsoft 365 Certified Administrator Expert certification. The exam covers SharePoint sharing settings, external access control, content services administration, and site lifecycle management as part of its broader Microsoft 365 platform governance domains.
MS-102 Exam Domains — SharePoint Online Coverage
Deploy and Manage a Microsoft 365 Tenant
SharePoint tenant-wide settings, site creation controls, storage quota management, CDN configuration, home site, SharePoint admin roles — Modules 2, 11
Implement and Manage Identity and Access
External sharing levels (the four tiers), sharing link types, domain allow/block lists, access control (unmanaged devices), guest user management, network location policy — Modules 4, 5
Manage Security and Threats
OneDrive sync restrictions, conditional access integration (SharePoint + Intune device compliance), blocked file extensions — Modules 5, 6
Manage Compliance
Site deletion lifecycle and retention (93-day window), content types for records management, SharePoint data governance, sensitivity labels on sites — Modules 3, 7, 8
✅ MS-102 SharePoint Study Tips
- Know all four external sharing levels by name and exactly what each allows — “Anyone”, “New and existing guests”, “Existing guests only”, “Only people in your organisation” — and that site-level sharing can only be equal to or more restrictive than the tenant level
- Understand Hub sites thoroughly — what a hub is, how sites are associated, what features are inherited (navigation, search scope, theming), and that a hub is just a registered existing site, not a special site template
- Know the 93-day site collection recycle bin retention period — after permanent deletion only Microsoft Support can attempt recovery, and only within a small window
- Understand the unmanaged device policy three levels and how they interact with Entra ID Conditional Access — the SharePoint policy creates a CA policy automatically in Entra ID when set via the admin center
- Know the difference between SPMT and Migration Manager — SPMT is primarily for SharePoint Server, Migration Manager handles file shares and third-party cloud sources (Google, Box, Dropbox)
- Study sensitivity labels on SharePoint sites — labels applied at site level control privacy setting (Public/Private), external sharing capability, and can enforce CA policies; labels are configured in Microsoft Purview, not the SharePoint admin center
- Practice all PowerShell in a Microsoft 365 Developer Tenant (developer.microsoft.com/microsoft-365/dev-program) using both the SharePoint Online Management Shell and PnP PowerShell
- The SharePoint Online Management Shell is the primary tool tested in MS-102 — know
Connect-SPOService,Get-SPOSite,Set-SPOSite,Set-SPOTenant,Get-SPOTenant, andGet-SPOExternalUserat minimum
💡 Best Practices Summary
- Set tenant-level external sharing to New and existing guests as the maximum and restrict individual high-sensitivity sites (Finance, Legal, HR) to Only people in your organisation via per-site overrides
- Always configure anonymous link expiry — 14–30 days is the recommended window; never leave anonymous links without expiry in a corporate environment
- Restrict sync to domain-joined devices only unless you have a specific BYOD policy that has been approved — this is the single highest-impact sync policy for data exfiltration prevention
- Register a Home site for your organisation even if it’s just the root SharePoint site — it enables the Viva Connections app in Teams and provides a consistent intranet landing experience
- Implement Hub sites by business function (HR Hub, IT Hub, Finance Hub) before rolling out SharePoint broadly — retrofitting hub associations after sites are created is significantly harder
- Run a site admin governance report monthly using Get-SPOSite and Get-SPOUser — flag sites with no active admin and sites with guest users who haven’t accessed the site in 90+ days
- Use sensitivity labels in Microsoft Purview to automatically enforce SharePoint site sharing settings based on label — this integrates SharePoint governance with your broader information protection framework
- Enable the Public CDN for communication sites serving large numbers of users — it significantly reduces page load times for images and static assets by serving them from Microsoft edge nodes
- Plan content type governance via the Content Type Hub before deploying document libraries at scale — retrofitting content types across existing libraries is extremely time-consuming
- For migrations, always run a pre-migration scan at least 4 weeks before cutover to identify blockers (classic workflows, InfoPath, BCS dependencies) that need remediation before migration can proceed
📚 References & Further Reading
- 🔗 SharePoint Online Administration Documentation — Microsoft Learn
- 🔗 MS-102: Microsoft 365 Administrator Expert Certification — Microsoft Learn
- 🔗 Manage Sites in the SharePoint Admin Center — Microsoft Learn
- 🔗 External Sharing Overview for SharePoint Online — Microsoft Learn
- 🔗 Hub Sites Management — Microsoft Learn
- 🔗 Microsoft Syntex / SharePoint Premium Overview — Microsoft Learn
- 🔗 Migrate to SharePoint Online — Microsoft Learn
- 🔗 PnP PowerShell Documentation — PnP Community
- 🔗 SharePoint Admin Center — admin.sharepoint.com
