SharePoint Online Administration: Complete Practical Course — Matching the SharePoint Admin Center & MS-102 Certification

📘 Course Guide

SharePoint Online Administration: Complete Practical Course — Matching the SharePoint Admin Center & MS-102 Certification

This course guide maps directly to the SharePoint Admin Center (admin.sharepoint.com) — every blade visible in the left navigation is covered here as a practical module. Whether you are preparing for the MS-102: Microsoft 365 Certified Administrator Expert exam or managing a live SharePoint Online environment, this guide delivers hands-on knowledge, real admin tasks, and both SharePoint Online Management Shell and PnP PowerShell commands for each functional area.

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.

1

SharePoint Admin Center Overview

Dashboard metrics, navigation structure, classic vs modern admin center, and key operational views

2

Sites — Active Sites

Site collections, site types, Hub sites, storage quotas, ownership, and site lifecycle management

3

Sites — Deleted Sites

Recycle bin for site collections, restoration, permanent deletion, and retention considerations

4

Policies — Sharing

External sharing levels, anonymous links, link expiry, domain allow/block lists, file and folder sharing

5

Policies — Access Control

Unmanaged devices, network location (IP restrictions), idle session sign-out, app access control

6

Policies — Sync

OneDrive sync client restrictions, domain-join enforcement, blocked file extensions, Mac sync control

7

Content Services — Term Store

Managed Metadata Service, term groups, term sets, terms, and taxonomy governance

8

Content Services — Content Type Gallery

Content Type Hub, site content types, columns, and content type publishing across site collections

9

Microsoft Syntex & SharePoint Premium

AI content models, prebuilt extractors, content assembly, eSignature, and pay-as-you-go billing

10

Migration Center

SPMT, Migration Manager, on-premises SharePoint, file shares, Google Workspace, Box, and Dropbox migration

11

Settings & Tenant Configuration

Site creation, storage limits, CDN, notifications, default sharing links, and tenant-wide settings

12

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

🏠 Home
📁 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
1

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.

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
2

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.

SharePoint Online Management Shell

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
3

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.

SharePoint Online Management Shell

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
4

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.

SharePoint Online Management Shell

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
5

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.

SharePoint Online Management Shell

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
6

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.

PnP PowerShell (Term Store Management)

# 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
7

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.

PnP PowerShell (Content Type Hub)

# 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
8

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.

SharePoint Migration Tool (SPMT) PowerShell

# 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)
9

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.

SharePoint Online Management Shell

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
10

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.

SharePoint Online Management Shell

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: Microsoft 365 Certified Administrator Expert

MS-102 Exam Domains — SharePoint Online Coverage

30%

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

25%

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

25%

Manage Security and Threats

OneDrive sync restrictions, conditional access integration (SharePoint + Intune device compliance), blocked file extensions — Modules 5, 6

20%

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, and Get-SPOExternalUser at 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

Leave a Comment

Your email address will not be published. Required fields are marked *