🎉 New: All 4 study guides now live — AZ-900, MS-900, AZ-104 & MS-102 —
Microsoft Cloud Learning Hub · learn.queclouds.com

Master Azure &
Microsoft 365
the right way.

Practical guides, real-world tutorials, and step-by-step walkthroughs for IT admins, Azure developers, students, and everyday Microsoft 365 users. Free, forever.

0+
Articles & Guides
0
Study Guides
0k+
Monthly Readers
100%
Free, Always
What you'll learn about
☁️ Azure Portal
📧 Exchange Online
🗂️ SharePoint
💬 Microsoft Teams
🪪 Entra ID
🔒 Defender
⚙️ Azure DevOps
📜 Bicep / ARM
🛡️ Sentinel
🔑 PIM / MFA
Latest Articles

Start reading

Azure Resource Manager explained: a complete guide for IT admins and developers

Everything you need to know about ARM — how resources are organised, why resource groups matter, and how Bicep makes deployment painless.

Queclouds
Mar 2026

Conditional Access policies: a step-by-step setup guide

Queclouds
Mar 2026

Microsoft Sentinel: deploy your first workspace in 30 minutes

Queclouds
Feb 2026

Exchange Online mail flow rules explained: transport rules, connectors, and best practices

Queclouds
Feb 2026

Deploy Azure infrastructure with Bicep: zero to working template

Queclouds
Jan 2026
Audience

Built for real Microsoft cloud practitioners.

Whether you're just starting out or preparing for your next certification — you're in the right place.

IT Admins
Managing Microsoft 365 tenants, user lifecycles, and day-to-day cloud operations.
  • Exchange & Teams admin
  • Entra ID management
  • Compliance & DLP
  • PowerShell scripts
Azure Developers
Building and deploying on Azure — from IaaS basics to modern cloud-native architectures.
  • ARM & Bicep templates
  • Azure DevOps pipelines
  • Serverless & App Services
  • Cost optimisation
Cert Candidates
Studying for AZ-900, AZ-104, MS-102 or beyond — free study guides and practice walkthroughs.
  • Domain-by-domain breakdowns
  • Exam-style explanations
  • Labs and scenarios
  • Free forever
Everyday M365 Users
Getting the most out of Teams, SharePoint, and OneDrive at work — practical, jargon-free.
  • Teams tips & tricks
  • SharePoint for teams
  • OneDrive & file sync
  • Outlook productivity
Community

Trusted by Microsoft cloud practitioners.

★★★★★

"The AZ-104 study guide on Queclouds is the clearest breakdown I've found. Passed my exam on the first attempt — can't recommend it enough."

Sarah P.
Azure Administrator · London
★★★★★

"Finally a site that explains Entra ID Conditional Access without burying me in Microsoft docs. The step-by-step guides are exactly what I needed."

Mihail K.
IT Admin · Bucharest
★★★★★

"I've bookmarked Queclouds as my go-to reference for all things Microsoft 365. The Exchange and Teams governance articles are outstanding."

Tara R.
M365 Consultant · Dublin
Updated weekly · Free forever

Stay ahead of the Microsoft cloud.

New guides on Azure & M365 delivered to your inbox every week.
No spam — just practical, well-written content.

Join 2,400+ readers. Unsubscribe any time.

Free weekly guides
Exam study tips
No spam, ever
Unsubscribe anytime
Fundamentals · AZ-900

Azure Fundamentals (AZ-900)
Complete Study Guide

Everything you need to pass AZ-900 on your first attempt — free, comprehensive, and kept up to date with the latest exam objectives. No account needed, no paywall.

3
Exam domains
~180
Minutes (exam)
700
Pass score (out of 1000)
Free
This guide
ℹ️
About this guide: AZ-900 covers three domains. This guide walks through all of them in the same order Microsoft tests them. Each section maps directly to exam objectives so you always know what's relevant.
Domain 1

Describe Cloud Concepts

25–30%

This domain tests whether you understand what cloud computing is, why organisations adopt it, and how different cloud models and service types compare. It's the most conceptual domain — no portal clicks required.

☁️What is Cloud Computing?

Cloud computing is the delivery of computing services — servers, storage, databases, networking, software, analytics — over the internet. Instead of owning and maintaining physical data centres, you rent capacity from a cloud provider and pay only for what you use.

Key characteristics of cloud computing:

  • On-demand self-service — provision resources without human interaction from the provider
  • Broad network access — accessible over the network from multiple device types
  • Resource pooling — provider serves multiple customers from shared infrastructure
  • Rapid elasticity — scale out or in quickly based on demand
  • Measured service — usage is monitored, controlled, and reported (pay-as-you-go)
💰Benefits of Cloud Computing

The AZ-900 exam frequently tests the business benefits of cloud. Know these well:

  • High availability — Azure offers SLAs guaranteeing uptime for services (e.g. 99.9%, 99.99%)
  • Scalability — add resources as demand increases. Vertical scaling = more power to existing resources; horizontal scaling = add more instances
  • Elasticity — automatically scale up and back down based on demand (e.g. a retail site during Black Friday)
  • Agility — provision and configure resources in minutes, not weeks
  • Geo-distribution — deploy closer to customers worldwide for lower latency
  • Disaster recovery — replicate data across regions so a failure in one location doesn't cause data loss
  • CapEx vs OpEx — cloud shifts spending from capital expenditure (buying hardware) to operational expenditure (paying monthly). OpEx can often be deducted from taxes in the same year
📝
Exam tip: The AZ-900 frequently asks you to distinguish between CapEx and OpEx. CapEx = upfront spend on physical infrastructure. OpEx = pay-as-you-go cloud spending. Cloud is OpEx. Memorise this.
🏗️Cloud Service Types: IaaS, PaaS, SaaS

Azure services fit into one of three service models. Understanding which layer of responsibility you own in each is a common exam question.

ModelYou manageAzure managesAzure example
IaaS — Infrastructure as a ServiceOS, runtime, apps, dataServers, storage, networking, virtualisationAzure Virtual Machines
PaaS — Platform as a ServiceApplications and data onlyOS, runtime, middleware, infrastructureAzure App Service, Azure SQL
SaaS — Software as a ServiceData and access settingsEverything elseMicrosoft 365, Dynamics 365

Think of it as a pizza analogy: IaaS = you make the pizza in a rented kitchen. PaaS = dough and oven provided, you add toppings. SaaS = pizza delivered to your door.

🌐Cloud Deployment Models

There are three main deployment models tested on AZ-900:

  • Public cloud — Resources are owned and operated by a third-party cloud provider (Azure, AWS, GCP) and shared across multiple customers. You access them over the internet. No upfront hardware cost. Examples: Azure VMs, Microsoft 365.
  • Private cloud — Cloud infrastructure operated exclusively for a single organisation. May be hosted on-premises or in a dedicated data centre. Gives more control but costs more. Example: a company's own VMware environment.
  • Hybrid cloud — Combines public and private clouds, allowing data and applications to be shared between them. Most enterprise organisations use hybrid cloud. Azure supports this with Azure Arc and Azure Stack.
Remember: Hybrid cloud doesn't mean "some things on-prem, some on Azure" without integration. It means the two environments are connected and workloads can move between them.
Domain 2

Describe Azure Architecture and Services

35–40%

This is the largest domain and covers the actual Azure services you'll encounter day-to-day. Focus on what each service does, how it fits into Azure architecture, and when you'd choose one over another.

🏢Azure Regions, Availability Zones, and Data Centres

Regions — Azure has 60+ regions worldwide (e.g. UK South, East US, Southeast Asia). A region is a geographical area containing one or more data centres. When you create a resource, you choose a region.

Region Pairs — Most Azure regions are paired with another region in the same geography at least 300 miles apart. During planned maintenance, only one region in a pair is updated at a time, reducing downtime risk.

Availability Zones — Physically separate data centres within a region, each with independent power, cooling, and networking. Deploy across zones for 99.99% SLA. Not all regions support Availability Zones.

Sovereign Regions — Azure Government (US) and Azure China are physically and logically isolated from commercial Azure, operated by separate entities to meet compliance requirements.

📝
Exam tip: Know the difference between a region, a region pair, and an availability zone. The exam loves scenarios like: "You need to protect against a full data centre failure — what do you use?" Answer: Availability Zones.
📦Azure Resource Hierarchy

Azure organises everything into a management hierarchy. Know this from top to bottom:

  • Management Groups — containers for multiple subscriptions. Apply policies across all subscriptions at once. Useful for enterprises with many subscriptions.
  • Subscriptions — a billing and access-control boundary. All Azure resources live inside a subscription. You can have multiple subscriptions per Azure account.
  • Resource Groups — logical containers for related resources (e.g. all resources for a web app). Resources in a group share the same lifecycle — deploy, update, delete together.
  • Resources — the actual services: VMs, storage accounts, databases, etc.
💻Azure Compute Services

Compute is how you run code and applications on Azure. The main services tested on AZ-900:

  • Azure Virtual Machines (VMs) — IaaS. Full control over OS. Best when you need a specific OS version, need to run legacy software, or migrate lift-and-shift from on-prem. You manage OS updates, patches, and configurations.
  • Azure Virtual Machine Scale Sets — automatically increase or decrease the number of VM instances based on demand or schedule. Great for load-balanced applications.
  • Azure App Service — PaaS. Host web apps, REST APIs, and mobile backends. Supports .NET, Java, Python, Node.js, PHP. You focus on code, Azure handles the OS and infrastructure.
  • Azure Container Instances (ACI) — run Docker containers without managing VMs. Fastest way to run a container in Azure. No orchestration — just single containers.
  • Azure Kubernetes Service (AKS) — managed Kubernetes for running containerised applications at scale. Complex but powerful. Azure manages the control plane.
  • Azure Functions — serverless compute. Run small pieces of code triggered by events (HTTP request, timer, queue message). Pay only when code runs. Great for event-driven scenarios.
  • Azure Virtual Desktop — virtualised desktops and apps running in Azure, accessible from any device. Used when employees need Windows desktops remotely.
💾Azure Storage Services

Azure has several storage types — know what each is best for:

  • Azure Blob Storage — unstructured object storage. Store images, videos, backups, documents. Three tiers: Hot (frequent access), Cool (infrequent), Archive (rarely accessed, cheapest).
  • Azure Files — fully managed file shares accessible via SMB or NFS protocol. Can replace or extend on-premises file servers. Mountable by Windows, Linux, macOS.
  • Azure Queues — message storage for reliable messaging between components. Messages can be up to 64KB.
  • Azure Table Storage — NoSQL key-value store. Fast access to large volumes of semi-structured data.
  • Azure Disk Storage — block-level volumes for Azure VMs. Like a hard drive attached to your VM. Premium (SSD) or Standard (HDD).
Remember: Storage redundancy options — LRS (Locally Redundant, 3 copies in one data centre), ZRS (Zone Redundant, across 3 zones), GRS (Geo-Redundant, copied to secondary region), GZRS (Geo + Zone). Higher redundancy = higher cost.
🌐Azure Networking Services
  • Azure Virtual Network (VNet) — the foundation. A private, isolated network in Azure. Resources inside the same VNet can communicate by default. Use subnets to segment traffic.
  • Azure VPN Gateway — connects your on-premises network to Azure over an encrypted VPN tunnel through the public internet.
  • Azure ExpressRoute — private, dedicated connection from on-premises to Azure that does NOT travel over the public internet. Higher bandwidth, lower latency, more reliability than VPN.
  • Azure DNS — host your DNS domains in Azure and resolve names to IP addresses.
  • Azure Load Balancer — distributes incoming traffic evenly across multiple VMs. Operates at Layer 4 (TCP/UDP).
  • Azure Application Gateway — like a Load Balancer but works at Layer 7 (HTTP/HTTPS). Can route based on URLs, do SSL termination, and include a Web Application Firewall (WAF).
  • Azure Content Delivery Network (CDN) — caches content at edge nodes worldwide, reducing latency for end users.
🗃️Azure Database Services
  • Azure SQL Database — fully managed PaaS relational database. Microsoft manages backups, patching, high availability. SQL Server compatible.
  • Azure SQL Managed Instance — like Azure SQL Database but with near-100% SQL Server compatibility. Best for migrations from on-premises SQL Server.
  • Azure Cosmos DB — globally distributed, multi-model NoSQL database. Sub-10ms latency globally. Supports JSON, key-value, column, graph models.
  • Azure Database for MySQL / PostgreSQL / MariaDB — managed open-source databases. Good for developers who use these engines on-premises.
🤖Azure AI and Machine Learning Services

AZ-900 only requires a high-level understanding of these — not deep technical knowledge.

  • Azure AI Services (formerly Cognitive Services) — pre-built AI APIs: vision (image recognition), speech (text-to-speech), language (translation, sentiment), decision.
  • Azure Machine Learning — platform to build, train, and deploy ML models. Supports Python, R, automated ML.
  • Azure OpenAI Service — access to OpenAI's GPT, DALL-E, and Codex models through Azure with enterprise security and compliance.
  • Azure Bot Service — build intelligent chatbots that integrate with Teams, Slack, websites.
Domain 3

Describe Azure Management and Governance

30–35%

This domain covers how you control costs, manage compliance, secure your environment, and use Azure tools to manage everything at scale. Governance is increasingly tested as organisations move large workloads to cloud.

🔒Security Tools in Azure
  • Microsoft Defender for Cloud — unified security management. Assesses your security posture, detects threats, and provides recommendations. Has a free tier and a paid Defender plans tier.
  • Azure Key Vault — securely store secrets (passwords, API keys), encryption keys, and certificates. Applications retrieve secrets from Key Vault instead of storing them in config files.
  • Microsoft Sentinel — cloud-native SIEM (Security Information and Event Management) and SOAR (Security Orchestration and Automated Response). Collects data across your environment, detects threats, and allows automated response.
  • Azure DDoS Protection — protects Azure resources from Distributed Denial of Service attacks. Basic tier is free and automatically enabled. Standard tier adds advanced mitigation and cost guarantees.
🪪Identity and Access Management
  • Microsoft Entra ID (formerly Azure AD) — cloud-based identity service. Manages users, groups, app registrations. Not the same as on-premises Active Directory Domain Services (AD DS), although they can sync.
  • Multi-Factor Authentication (MFA) — require users to verify identity with something they know (password) AND something they have (phone/authenticator app). Drastically reduces risk of compromised accounts.
  • Conditional Access — policies that enforce access rules based on conditions: user role, device compliance, location, risk level. "Allow access only from compliant corporate devices in approved countries."
  • Azure RBAC (Role-Based Access Control) — grant permissions to resources based on roles. Principle of least privilege: give users only the access they need. Built-in roles: Owner, Contributor, Reader.
  • Zero Trust — a security model that assumes breach. Verify explicitly (always authenticate), use least-privilege access, and assume breach (design to minimise blast radius).
⚙️Azure Governance and Compliance Tools
  • Azure Policy — enforce rules across your Azure resources. Example: "All VMs must have a specific tag" or "Storage accounts must use HTTPS". Policies can audit or deny non-compliant resources.
  • Azure Blueprints — package policies, roles, and resource templates together and apply them as a unit to new subscriptions. Good for setting up standardised environments at scale.
  • Resource Locks — prevent accidental deletion or modification. ReadOnly lock = no changes. CanNotDelete lock = can modify, can't delete. Applied at subscription, resource group, or resource level.
  • Microsoft Purview — unified data governance service. Discover, classify, and manage data across Azure, on-premises, and multi-cloud.
  • Service Trust Portal — Microsoft's portal where you access audit reports, compliance certifications (ISO, SOC, HIPAA), and trust documentation. Not a management tool — it's for reading compliance documentation.
💰Cost Management and Pricing

Understanding Azure costs is a key part of Domain 3. You won't need to memorise prices, but you need to understand factors that affect cost:

  • Factors that affect cost: resource type, consumption (compute hours, GB stored), region (prices vary by region), bandwidth (egress data transfer charged), support plans.
  • Azure Pricing Calculator — estimate costs before deploying. Configure resources and see a monthly estimate. Available at azure.microsoft.com/pricing/calculator.
  • Total Cost of Ownership (TCO) Calculator — compare cost of running workloads on-premises vs Azure. Helps organisations build the business case for cloud migration.
  • Azure Cost Management + Billing — in-portal tool to monitor, allocate, and optimise spending. Set budgets with alerts, analyse cost by resource or tag.
  • Azure Reservations — commit to 1 or 3 years for VMs, SQL, etc. and save up to 72% vs pay-as-you-go.
  • Azure Hybrid Benefit — use existing Windows Server or SQL Server licences on Azure to save costs.
  • Azure Spot VMs — use unused Azure capacity at deep discounts. Can be evicted when Azure needs the capacity back. Good for batch jobs and fault-tolerant workloads.
🛠️Azure Management Tools
  • Azure Portal — web-based GUI at portal.azure.com. Most common way to create and manage resources.
  • Azure CLI — command-line interface available on Windows, macOS, Linux. Use az commands to manage Azure.
  • Azure PowerShell — PowerShell module with Az cmdlets. Preferred by Windows administrators.
  • Azure Cloud Shell — browser-based terminal in the Azure Portal. Pre-authenticated, supports both CLI and PowerShell.
  • ARM Templates — JSON files that define Azure resources declaratively. Deploy the same infrastructure repeatedly and consistently.
  • Azure Bicep — a simpler, cleaner language that compiles to ARM templates. Preferred for new IaC projects.
  • Azure Arc — manage resources outside Azure (on-premises, other clouds) as if they were in Azure. Extends Azure governance and management to hybrid environments.
  • Azure Advisor — free built-in service that analyses your configuration and gives personalised recommendations across reliability, security, performance, operational excellence, and cost.
  • Azure Monitor — collect, analyse, and act on telemetry from Azure and on-premises resources. Includes Log Analytics, Application Insights, and Alerts.
  • Azure Service Health — personalised view of health of Azure services and regions you use. Notifies you about outages, planned maintenance, and health advisories affecting your resources.
📝
Exam tip: Distinguish Azure Monitor (collects and analyses telemetry), Azure Service Health (service outage information), and Azure Advisor (recommendations). All three appear in exam questions.
Exam Day

Exam Strategy & Tips

🎯What to Expect on Exam Day
  • Format: ~40–60 questions. Mix of multiple choice, multiple select, drag-and-drop, and scenario-based questions.
  • Duration: 60 minutes (plus 20 minutes admin time).
  • Passing score: 700 out of 1000.
  • Delivery: Pearson VUE testing centre or online proctored from home.
  • Cost: ~£165 / $165 USD. Discounted vouchers sometimes available through Microsoft or employers.
  • You cannot go back to questions marked for review in some question types — pay attention to the UI during the exam.
📋Top Things to Know Before You Sit
  • The difference between IaaS, PaaS, and SaaS — and which Azure services fit each
  • CapEx vs OpEx and why cloud is OpEx
  • Regions, region pairs, and Availability Zones — and when to use each
  • Azure management hierarchy: Management Groups → Subscriptions → Resource Groups → Resources
  • Storage redundancy: LRS, ZRS, GRS, GZRS
  • RBAC: Owner, Contributor, Reader roles
  • Azure Policy vs Blueprints vs Resource Locks
  • Pricing Calculator vs TCO Calculator (and when to use each)
  • Azure Monitor vs Azure Advisor vs Azure Service Health
  • Zero Trust model: Verify explicitly, least privilege, assume breach
Best advice: Open a free Azure account (portal.azure.com) and click around the portal. AZ-900 tests concepts but hands-on familiarity helps you answer faster and more confidently.
🚀
Ready for the next level? After AZ-900, the natural progression is AZ-104 (Azure Administrator) — the hands-on admin cert. Or if you're working with Microsoft 365, try MS-900 next. Both study guides are free on Queclouds.
Fundamentals · MS-900

Microsoft 365 Fundamentals (MS-900)
Complete Study Guide

Everything you need to pass MS-900 on your first attempt — free, comprehensive, and aligned with the latest exam objectives. Covers cloud services, M365 apps, security, compliance, and licensing.

4
Exam domains
~60
Questions
700
Pass score (1000)
Free
This guide
ℹ️
About this guide: MS-900 covers four domains. If you're new to Microsoft 365, start with Domain 1. If you're an existing M365 user, you'll find Domains 3 and 4 (security and pricing) most worth focusing on — they're the most nuanced for someone with hands-on experience.
Domain 1

Describe Cloud Concepts

10–15%

The smallest domain — it mirrors the cloud concepts content in AZ-900. If you've already studied AZ-900, you can move quickly through this section.

☁️Benefits of Cloud Services

MS-900 tests the same core cloud computing benefits as AZ-900 but from a productivity and business lens:

  • Scalability — M365 scales from 1 user to 300,000+ without infrastructure changes. You add or remove licences as needed.
  • Always up to date — Microsoft handles updates, security patches, and feature releases. You always have the latest version of Teams, Outlook, and SharePoint.
  • Global access — employees access M365 from any device, any location. No VPN needed for productivity tools.
  • Built-in security — Microsoft invests $1 billion+ annually in security. Cloud services include built-in threat protection, data encryption at rest and in transit.
  • Reliability — Microsoft guarantees 99.9% uptime SLA for M365 services. Downtime is Microsoft's problem, not yours.
📝
Exam tip: MS-900 sometimes asks about the shared responsibility model. Microsoft is responsible for the physical infrastructure, network, and the platform itself. You are responsible for your data, identities, and access management.
🔄Types of Cloud Services (SaaS Focus)

Microsoft 365 is primarily a SaaS (Software as a Service) offering. You don't manage servers, operating systems, or middleware — Microsoft manages everything. You manage your users, data, and configurations.

MS-900 occasionally asks about the spectrum:

  • On-premises — you own and manage every layer: hardware, OS, application, data. Highest control, highest responsibility.
  • IaaS — rent virtual infrastructure (Azure VMs). You manage OS up.
  • PaaS — rent a platform (Azure App Service). You manage application and data.
  • SaaS — rent the finished software (Microsoft 365). You manage identity and data only.
Domain 2

Describe Microsoft 365 Apps and Services

45–50%

This is by far the largest domain. It tests your knowledge of what each Microsoft 365 service does, how they interconnect, and which service is the right tool for a given scenario. Know each service's primary purpose.

💬Microsoft Teams

Teams is the hub for teamwork in Microsoft 365 — combining chat, video meetings, calling, and file sharing in one app.

  • Teams — workspaces where groups collaborate. Each team contains channels.
  • Channels — organised conversations within a team. Can be Standard (visible to all team members) or Private (invite-only).
  • Meetings — schedule and host video/audio meetings with up to 1,000 participants (Teams Premium can go higher). Includes recording, transcription, and breakout rooms.
  • Teams Phone — PSTN calling functionality. Lets users make and receive phone calls through Teams as their business phone system.
  • Live Events — broadcast to up to 20,000 attendees. Used for company all-hands, webinars, and external broadcasts.
  • Shared channels — collaborate with external users (from another organisation) within your own Teams without guest access.
📧Exchange Online and Outlook

Exchange Online is Microsoft's cloud-hosted email and calendar service. It's the backbone of business email in M365.

  • Mailboxes — each licensed user gets a mailbox. Storage varies by licence (50GB for Business, 100GB for Enterprise).
  • Shared mailboxes — mailboxes multiple users can access without a dedicated licence (up to 50GB). Used for help desks, info@ addresses.
  • Distribution groups — send email to a group of people. Not a mailbox — just a routing list.
  • Microsoft 365 Groups — when you create a Team or SharePoint site, a Microsoft 365 Group is created automatically. Groups tie together email, calendar, SharePoint, Planner, and Teams.
  • Exchange hybrid — run some mailboxes on-premises Exchange and some in Exchange Online simultaneously. Common during migration.
  • Outlook — the desktop, web (Outlook on the web), and mobile client for Exchange. Outlook is not Exchange — it's the client that connects to Exchange.
🗂️SharePoint Online and OneDrive

SharePoint Online is the intranet, document management, and content collaboration platform in M365.

  • Sites — SharePoint is organised into sites. A Team Site is for collaboration within a group. A Communication Site is for broadcasting information (like an intranet homepage).
  • Document libraries — SharePoint's core function. Store, organise, version, and co-author documents. Supports co-authoring (multiple people editing simultaneously in Word/Excel online).
  • Lists — structured data tables. Like a simple database or spreadsheet embedded in a site. Good for issue tracking, task lists, inventory.
  • SharePoint storage — the default is 1TB + 10GB per licensed user for the whole tenant. Shared across all SharePoint sites.

OneDrive for Business is personal cloud storage for each user — like Dropbox but integrated into M365.

  • Each licensed user gets 1TB of personal storage by default.
  • Files can be shared with colleagues and sync to local devices.
  • Key distinction: OneDrive = personal files. SharePoint = team/organisational files.
🤖Microsoft Copilot for Microsoft 365

Copilot is Microsoft's AI assistant embedded across M365 apps, powered by GPT-4 and connected to your organisational data via Microsoft Graph.

  • Copilot in Word — draft, rewrite, and summarise documents. "Summarise this 40-page report in 5 bullet points."
  • Copilot in Teams — summarise missed meetings, identify action items, answer questions about conversation threads.
  • Copilot in Outlook — summarise email threads, draft replies, identify priority emails.
  • Copilot in Excel — analyse data, generate formulas, create charts from natural language prompts.
  • Microsoft 365 Chat (BizChat) — a standalone chat experience that can reason across all your M365 data: emails, chats, documents, calendar.
📝
Exam tip: Copilot requires a separate add-on licence on top of an existing M365 Business or Enterprise plan. It's not included in standard M365 Business Premium.
📊Microsoft Viva (Employee Experience)

Microsoft Viva is a suite of employee experience tools built on top of Teams and M365. MS-900 tests awareness of the modules:

  • Viva Connections — a personalised company intranet and news feed inside Teams. Employees see company news, resources, and HR information without leaving Teams.
  • Viva Insights — personal and manager wellbeing analytics. Shows individuals patterns like time in meetings, focus time, after-hours work.
  • Viva Learning — a learning hub inside Teams. Surfaces training from LinkedIn Learning, internal content, and third-party LMS platforms.
  • Viva Engage (formerly Yammer) — enterprise social networking. Company-wide conversations, communities, and knowledge sharing.
⚙️Power Platform Overview

Power Platform is Microsoft's low-code/no-code suite for building apps, automating workflows, and analysing data. It integrates deeply with M365.

  • Power Apps — build custom business applications without writing code. Canvas apps (drag-and-drop) or model-driven apps (data-first).
  • Power Automate — automate repetitive workflows. Example: "When a file is added to a SharePoint folder, send an approval email and notify a Teams channel."
  • Power BI — business intelligence and data visualisation. Connect to data sources, build dashboards and reports.
  • Power Virtual Agents — build chatbots without code that can answer questions and take actions.
🔧Microsoft Endpoint Manager (Intune)

Intune is Microsoft's cloud-based mobile device and application management platform — part of Microsoft Endpoint Manager.

  • MDM (Mobile Device Management) — enrol and manage company-owned devices (Windows, iOS, Android, macOS). Enforce policies, push apps, wipe lost devices.
  • MAM (Mobile Application Management) — manage apps on personal (BYOD) devices without controlling the whole device. Protect company data within the Outlook app without wiping personal photos.
  • Conditional Access integration — block access to M365 services from devices that aren't enrolled or aren't compliant with policy.
  • Windows Autopilot — zero-touch deployment for new Windows PCs. Devices configure themselves automatically when powered on, without IT needing to touch them.
Domain 3

Describe Security, Compliance, Privacy, and Trust

25–30%

This domain tests your understanding of how Microsoft 365 protects organisations from threats, how it helps meet compliance obligations, and how Microsoft handles your data and privacy. High-value area for the exam.

🛡️Microsoft 365 Defender Suite

Microsoft 365 Defender is a unified security platform that integrates multiple protection services:

  • Defender for Office 365 — protects Exchange Online and Teams from phishing, malware, and malicious links. Key features: Safe Links (scans URLs in real time), Safe Attachments (detonates suspicious attachments in a sandbox). Plan 1 in Business Premium; Plan 2 for advanced investigation.
  • Defender for Endpoint — endpoint detection and response (EDR) for Windows, macOS, Linux, iOS, and Android devices. Detects attacks, investigates them, and helps remediate.
  • Defender for Identity — monitors Active Directory and Entra ID for signs of compromise: unusual sign-in behaviour, lateral movement, privilege escalation.
  • Defender for Cloud Apps (MCAS) — Cloud Access Security Broker (CASB). Discovers and controls the use of cloud apps across your organisation, including Shadow IT.
📝
Exam tip: Know what each Defender product protects. Defender for Office 365 = email/Teams. Defender for Endpoint = devices. Defender for Identity = user identities. Defender for Cloud Apps = cloud app usage.
🪪Identity and Access in Microsoft 365
  • Microsoft Entra ID (Azure AD) — the identity backbone of M365. Manages users, groups, application registrations, and authentication for all M365 services.
  • Multi-Factor Authentication (MFA) — requires a second verification factor. In M365, this is enforced via Entra ID. Can use Microsoft Authenticator app, SMS, or hardware keys.
  • Conditional Access — grant or block access based on conditions: user risk, device compliance status, location, application being accessed. Example: "Require MFA from any device outside the corporate network."
  • Self-Service Password Reset (SSPR) — let users reset their own passwords without calling the help desk. Reduces IT costs. Requires Entra ID P1 licence.
  • Passwordless authentication — use Windows Hello for Business, FIDO2 security keys, or the Authenticator app instead of a password. More secure than passwords + MFA.
📋Microsoft Purview — Compliance Tools

Microsoft Purview is the compliance and data governance hub in M365. Key features tested on MS-900:

  • Sensitivity Labels — classify and protect content (emails, documents, meetings) with labels like "Confidential" or "Public". Can apply encryption, add watermarks, or restrict sharing.
  • Data Loss Prevention (DLP) — automatically detect and prevent the sharing of sensitive information (credit card numbers, NHS numbers, SSNs) outside the organisation.
  • Retention Policies — ensure content is kept for a required period (e.g. 7 years for financial records) and deleted afterwards. Helps with regulatory compliance.
  • eDiscovery — search across email, Teams chats, SharePoint, and OneDrive to find content relevant to legal investigations. Core eDiscovery is included in most plans; Premium eDiscovery adds advanced features.
  • Compliance Manager — dashboard that gives a compliance score and prescriptive guidance for improving compliance posture against frameworks like GDPR, ISO 27001, and HIPAA.
  • Audit — records user and admin activity across M365 for security investigations. Standard Audit keeps records for 90 days; Premium Audit up to 1 year.
🔐Microsoft's Privacy Commitments

MS-900 asks about Microsoft's privacy principles — not in deep legal detail, but conceptually:

  • You own your data — Microsoft doesn't mine your M365 data for advertising purposes. Your emails and documents belong to you.
  • Data residency — for most plans, you choose the geography where your data is stored at rest (Europe, US, Asia-Pacific, etc.).
  • Microsoft Privacy Portal — access privacy controls and transparency reports at privacy.microsoft.com.
  • GDPR compliance — Microsoft has invested heavily in tools to help organisations comply with GDPR: Data Subject Requests (DSRs), data classification, retention policies.
Domain 4

Describe Microsoft 365 Pricing and Support

10–15%

This domain covers Microsoft 365 licensing models, how subscriptions work, and the different support options available. It's the smallest domain but has some reliable exam question areas.

💼Microsoft 365 Subscription Plans

Microsoft 365 is sold as a per-user, per-month subscription. Key plan families to know:

Plan FamilyTargetUser limitKey features
M365 Business BasicSmall businessUp to 300 usersWeb/mobile Office apps, Exchange, Teams, SharePoint, OneDrive
M365 Business StandardSmall businessUp to 300 users+ Desktop Office apps (Word, Excel, PowerPoint), Teams webinars
M365 Business PremiumSmall businessUp to 300 users+ Intune, Defender for Business, Entra ID P1, Azure Information Protection P1
M365 E3EnterpriseUnlimited+ Entra ID P1, Intune, Purview, compliance tools, advanced analytics
M365 E5EnterpriseUnlimited+ Defender for Office P2, Defender for Endpoint P2, Entra ID P2, Power BI Pro, Purview Premium
📝
Exam tip: The 300-user cap on Business plans is frequently tested. If a company has more than 300 users, they must use Enterprise (E) plans. Also know that Business Premium includes Intune and Defender for Business — features that require Enterprise plans in the competition.
🛒Licensing and Procurement Options
  • Direct from Microsoft — buy directly through microsoft.com. Simple for small organisations.
  • Microsoft Cloud Solution Provider (CSP) — buy through a Microsoft Partner. Partner can provide bundled support, customisation, and billing. Common for small and mid-size businesses.
  • Enterprise Agreement (EA) — volume licensing for large organisations (typically 500+ users). 3-year commitment with price stability.
  • Microsoft Open — volume licensing for small and mid-size organisations. Minimum 5 licences.

Add-on licences — some features require add-ons on top of the base plan. Examples: Microsoft 365 Copilot (add-on), Teams Phone (add-on), Teams Rooms (add-on for meeting room devices), Audio Conferencing (add-on).

🤝Microsoft Support Options
  • Microsoft 365 Admin Centre support — all M365 subscriptions include support ticket submission via the admin centre. Response times vary by severity and plan.
  • Microsoft FastTrack — free deployment and adoption assistance for customers with 150+ eligible licences. Microsoft assigns a FastTrack engineer to help you onboard M365 services.
  • Unified Support (formerly Premier Support) — enterprise-grade paid support with a designated Customer Success Account Manager (CSAM), proactive services, and faster response SLAs.
  • Microsoft Learn — free self-service learning platform with structured learning paths, documentation, and sandboxes. Available to everyone at learn.microsoft.com.
  • Microsoft Tech Community — community forums where Microsoft staff and MVPs answer questions. Useful for troubleshooting real-world issues.
Remember: FastTrack is free for 150+ licences. Unified Support is paid and premium. This distinction appears in MS-900 questions.
📊Service Level Agreements (SLAs)

Microsoft commits to service availability through SLAs. Key facts for MS-900:

  • Microsoft 365 core services (Exchange Online, Teams, SharePoint, OneDrive) carry a 99.9% uptime SLA.
  • 99.9% uptime allows ~8.7 hours of downtime per year.
  • If Microsoft fails to meet the SLA, customers are entitled to service credits — a percentage of their monthly bill as compensation.
  • The SLA applies to the service, not to individual features. A feature being unavailable doesn't always constitute an SLA breach.
  • View current service health in the Microsoft 365 Admin Centre → Service health.
Exam Day

Exam Strategy & Tips

🎯What to Expect on Exam Day
  • Format: ~40–60 questions. Multiple choice, multiple select, and scenario-based.
  • Duration: 60 minutes (plus admin time).
  • Passing score: 700 out of 1000.
  • Cost: ~£165 / $165 USD. Discounts available for students and through employers.
  • No prerequisites — MS-900 is a standalone fundamentals exam. No experience required.
📋Top 10 Things to Know Before You Sit
  • The difference between Teams, SharePoint, OneDrive, and Exchange — and when to use each
  • Microsoft 365 Business plans cap at 300 users; Enterprise plans are unlimited
  • Microsoft 365 Copilot requires a separate add-on licence
  • FastTrack is free for 150+ licences; Unified Support is paid
  • Defender for Office 365 = email/Teams protection (Safe Links, Safe Attachments)
  • Sensitivity Labels, DLP, and Retention Policies are all in Microsoft Purview
  • Conditional Access requires Entra ID P1 (included in Business Premium and E3/E5)
  • M365 guarantees 99.9% SLA for core services
  • Shared responsibility model: Microsoft manages the platform, you manage identity and data
  • Power Platform (Power Apps, Power Automate, Power BI) integrates with M365
Best advice: If you have access to a Microsoft 365 Business Premium trial, spend 2–3 hours exploring the admin centre, Teams, and Purview compliance portal before sitting the exam. Familiarity with the interface makes scenario questions much easier.
🚀
Next step: After MS-900, the natural progression is MS-102 (Microsoft 365 Administrator) — the hands-on admin cert. If you also want Azure knowledge, take AZ-900. Both study guides are free on Queclouds.
Associate · AZ-104

Azure Administrator (AZ-104)
Complete Study Guide

The AZ-104 is the core hands-on Azure admin certification. This free guide covers all five exam domains in full — manage identities, governance, storage, compute, and networking on Azure. Pass first time.

5
Exam domains
40–60
Questions
700
Pass score / 1000
Free
This guide
ℹ️
About this guide: AZ-104 has five domains tested in a mix of multiple choice, case studies, and hands-on lab questions. Prerequisites: Microsoft recommends 6 months of hands-on Azure experience. The exam rewards practical knowledge — use the Azure portal as you study.
Domain 1

Manage Azure Identities and Governance

15–20%

This domain covers Entra ID user and group management, RBAC, subscriptions, and Azure Policy. It's heavily tested with scenario questions about who should have what access and how to enforce governance at scale.

🪪Entra ID Users and Groups

Creating users: You can create users in the Entra admin centre, via PowerShell (New-MgUser), or bulk import via CSV. Users can be cloud-only (created in Entra ID) or synced from on-premises AD DS via Entra Connect.

Guest users (B2B): External users invited to collaborate. They authenticate with their own organisation's identity. Manage them under External Identities. You can restrict what guest users can see and do in your tenant.

Group types — know both:

  • Security groups — used to assign access to resources (RBAC, app access, licence assignment). Members: users, devices, service principals, other groups.
  • Microsoft 365 groups — include a shared mailbox, Teams workspace, SharePoint site, Planner. Used for collaboration.

Membership types:

  • Assigned — you manually add members. Simple, doesn't scale.
  • Dynamic user — membership rule based on user attributes (e.g. department -eq "Finance"). Automatically adds/removes users as attributes change. Requires Entra ID P1.
  • Dynamic device — same concept but for devices.
📝
Exam tip: Dynamic groups require Entra ID P1. The exam gives you scenarios like "automatically add all Finance department users to a group" — the answer is always dynamic group with a membership rule.
🔐Azure RBAC in Depth

Role assignment anatomy: Every role assignment has three parts: a security principal (who), a role definition (what permissions), and a scope (where it applies). Assignments are inherited down — a Contributor at the subscription level is a Contributor on all resource groups and resources in that subscription.

Key built-in roles for the exam:

  • Owner — full control including ability to grant access to others
  • Contributor — create/manage all resources, cannot grant access
  • Reader — view everything, change nothing
  • User Access Administrator — manage access to Azure resources, cannot manage the resources themselves
  • Virtual Machine Contributor — manage VMs but not the VNet or storage account they use
  • Network Contributor — manage virtual networks, not VMs
  • Storage Blob Data Contributor — read/write/delete blob data. Note: different from Contributor — Contributor can manage the storage account but not necessarily access the data within it.

Custom roles: When no built-in role fits, create a custom role with exactly the actions needed. Defined in JSON, scoped to specific subscriptions. Limit of 5,000 custom roles per tenant.

⚠️
Classic admin roles are legacy: The exam may still mention Service Administrator and Co-Administrator — these are classic roles from the pre-ARM era. For new environments, always use RBAC, not classic admin roles.
📋Azure Policy and Blueprints

Azure Policy evaluates resources against rules you define. Policies can:

  • Audit — flag non-compliant resources but take no action
  • Deny — prevent creation of non-compliant resources
  • Append — add required fields to a resource (e.g. force a specific tag value)
  • DeployIfNotExists / AuditIfNotExists — trigger deployment of a remediation resource if a condition is missing (e.g. deploy a diagnostic setting if one doesn't exist)
  • Modify — add, update, or remove tags on existing resources

Policy initiatives (also called policy sets) group multiple policies together. For example, the "Azure Security Benchmark" initiative bundles 200+ policies. Assign the initiative to a scope rather than assigning each policy individually.

Remediation tasks: Existing non-compliant resources are not automatically fixed when a policy is assigned — you need to create a remediation task manually (or configure automatic remediation for DeployIfNotExists policies). The policy's managed identity performs the remediation.

📝
Exam tip: Policy applies at assignment time. Resources created before a Deny policy was assigned are not deleted — they just show as non-compliant. Only new resource creation is blocked.

Management groups: Assign policies at a management group to enforce them across all child subscriptions. This is how enterprises enforce standards like "all resources must be in approved regions" across 50+ subscriptions simultaneously.

💰Subscriptions and Cost Management
  • Subscription limits: Azure subscriptions have hard limits on some resources (e.g. 980 resource groups per subscription, 250 storage accounts per region). Plan your subscription architecture around these limits for large environments.
  • Moving resources: Resources can be moved between resource groups or subscriptions using the "Move" function. Not all resource types support moving. When moving, the resource's ID changes. Locks on the resource group must be removed first.
  • Spending limits: Free and pay-as-you-go trial subscriptions have spending limits that stop services when reached. Production subscriptions typically have no spending limit — configure budgets instead.
  • Cost alerts: Set budgets in Azure Cost Management with alerts at 80%, 100%, and 120% of budget. Alerts can trigger action groups (email, Teams, Logic App).
  • Tags for cost allocation: Use tags (Environment, CostCentre, Project) and Azure Cost Management to show spending per tag. Enforce tagging with Azure Policy.
Domain 2

Implement and Manage Storage

15–20%

Storage is a significant exam topic. You need to understand storage account types, access controls, redundancy, lifecycle management, and Azure File Sync. Expect scenario questions about which storage type to use and how to secure access.

💾Storage Account Types and Performance Tiers

Storage account kinds:

  • Standard general-purpose v2 (GPv2) — the default. Supports Blob, File, Queue, Table. Use for most workloads.
  • Premium block blobs — SSD-backed, for high-transaction scenarios (AI/ML data ingestion, IoT telemetry). Blob only.
  • Premium file shares — SSD-backed Azure Files. For latency-sensitive applications needing SMB file shares.
  • Premium page blobs — for virtual machine OS and data disks (unmanaged). Less common now that managed disks are standard.

Access tiers for blob storage:

  • Hot — frequently accessed data. Highest storage cost, lowest access cost.
  • Cool — infrequently accessed (at least 30 days). Lower storage cost, higher access cost. Early deletion penalty if deleted before 30 days.
  • Cold — rarely accessed (at least 90 days). Even lower storage cost.
  • Archive — rarely accessed (at least 180 days). Cheapest storage, but data is offline — must be "rehydrated" to Hot or Cool before access (takes hours). Cannot be read directly.
📝
Archive rehydration: Moving a blob from Archive to Hot/Cool is called rehydration. Standard priority takes up to 15 hours. High priority takes under 1 hour but costs more. The exam asks about this timing.
🔒Storage Access Control

Access keys: Every storage account has two 512-bit access keys — full administrative access to all data. Rotate them regularly. Anyone with a key can read, write, and delete everything. Avoid using keys directly in application code — use Managed Identities or SAS tokens instead.

Shared Access Signatures (SAS): Time-limited, permission-scoped URIs that grant specific access to specific storage resources without exposing the account key.

  • Account SAS — grants access to one or more storage services
  • Service SAS — grants access to a specific resource in one service (a single container, blob, queue, or table)
  • User delegation SAS — signed with Entra ID credentials rather than the account key. More secure — recommended approach. Requires Entra ID RBAC.

Stored access policies: Define a policy on a container that SAS tokens can reference. If you need to revoke a SAS, delete or modify the stored access policy rather than rotating the account key.

Entra ID authentication (RBAC for storage): Use roles like Storage Blob Data Contributor to grant a user or managed identity access to blob data without using keys. This is the most secure approach for application access.

Network access controls: Restrict storage account access to specific VNets (service endpoints or private endpoints) or IP ranges via the Storage account → Networking → Firewalls and virtual networks settings. Enable "Allow Azure services" only if needed.

📁Azure Files and File Sync

Azure Files provides fully managed file shares accessible via SMB 3.0 and NFS 4.1. Mount them on Windows, Linux, and macOS. Use cases: lift-and-shift of on-premises file servers, shared configuration files for applications, dev/test environments.

Azure File Sync extends Azure Files to on-premises Windows Server. Synchronises files between a Windows Server and an Azure File share, with optional cloud tiering — less frequently accessed files are automatically replaced by a pointer, freeing up local disk space while keeping files accessible (they download on-demand).

Components of Azure File Sync:

  • Storage Sync Service — the top-level Azure resource, like a container for sync groups
  • Sync group — defines the sync topology: one cloud endpoint (Azure file share) + one or more server endpoints
  • Cloud endpoint — the Azure file share being synced
  • Server endpoint — a specific path on a registered Windows Server
  • Registered server — a Windows Server (or VM) with the Azure File Sync agent installed, trusted by the Storage Sync Service
Cloud tiering: When enabled, files not accessed in X days are tiered to the cloud. The file still appears locally (as a reparse point). When opened, it downloads transparently. Free space policy and date policy control what gets tiered. Tiered files show a cloud overlay icon in Explorer.
🔄Storage Redundancy and Replication
RedundancyCopiesScopeUse when
LRS — Locally Redundant3Single data centreCost-sensitive, can tolerate data centre failure
ZRS — Zone Redundant33 availability zones in one regionHigh availability within a region
GRS — Geo Redundant6 (3+3)Primary + secondary regionDisaster recovery, secondary is read-only only on failover
GZRS — Geo-Zone Redundant6ZRS primary + LRS secondaryHighest availability + geo protection
RA-GRS / RA-GZRS6Same as GRS/GZRSRead access to secondary region at all times (not just on failover)

The secondary region is determined by Azure — you don't choose it. It's always a fixed pair (e.g. UK South pairs with UK West). You can initiate an account failover to promote the secondary to primary during a regional outage, but this has data loss implications.

♻️Lifecycle Management and Object Replication

Lifecycle management policies automatically transition blobs between access tiers or delete them based on rules:

  • Move blobs to Cool if not modified for 30 days
  • Move blobs to Archive if not modified for 90 days
  • Delete blobs if not modified for 365 days

Policies are defined in JSON and applied at the storage account level. Filters can target specific containers or blob prefixes.

Object replication asynchronously replicates block blobs from a source storage account to a destination account (can be in a different region or subscription). Useful for keeping a copy of data in another geography, or feeding a CDN account. Requires versioning and change feed to be enabled on the source.

Immutability policies (WORM): Write Once Read Many — prevent blobs from being modified or deleted for a defined period. Used for compliance: financial records, healthcare data. Two types: time-based retention policies and legal holds.

Domain 3

Deploy and Manage Azure Compute Resources

20–25%

Compute is the largest domain. VMs, availability sets, scale sets, App Service, containers, and ARM/Bicep templates are all tested. Expect scenario questions about choosing the right compute service and configuring VMs for high availability.

💻Azure Virtual Machines — Core Concepts

VM sizing families: Azure VMs come in families optimised for different workloads. Key ones for the exam:

  • B-series — burstable, credit-based CPU. Good for workloads with low baseline CPU and occasional spikes (dev/test, small web servers)
  • D-series — general purpose. Balanced CPU/memory ratio. Most common for application servers
  • E-series — memory optimised. For databases, in-memory analytics (SQL Server, SAP HANA)
  • F-series — compute optimised. High CPU-to-memory ratio. Good for batch processing, gaming servers
  • N-series — GPU enabled. For machine learning, video rendering, scientific simulations
  • L-series — storage optimised. High disk throughput and IOPS. For NoSQL databases, data warehousing

VM disks:

  • OS disk — required, contains the operating system. Default is Premium SSD or Standard HDD depending on VM size
  • Temporary disk — local to the physical host, not persisted across deallocations (reboots are fine). Use for temp files only, never store data here
  • Data disks — additional managed disks attached for application data. Persisted independently of VM lifecycle

Managed disk types: Ultra Disk (highest performance, sub-millisecond latency), Premium SSD v2, Premium SSD, Standard SSD, Standard HDD. Choose based on IOPS and throughput requirements vs cost.

🏗️High Availability: Availability Sets and Zones

Availability Sets protect against hardware failures within a single data centre by spreading VMs across:

  • Fault domains (FD) — separate physical racks with independent power and networking. Up to 3 FDs. Two VMs in different FDs survive a rack failure.
  • Update domains (UD) — VMs in different UDs are not rebooted simultaneously during planned maintenance. Up to 20 UDs.

Availability Sets give a 99.95% SLA. They protect only within one data centre — a full data centre failure takes down all VMs in an availability set.

Availability Zones spread VMs across physically separate data centres within a region (each with independent power, cooling, networking). Deploy VMs to Zone 1, 2, and 3 for 99.99% SLA. Protects against data centre failure. Not available in all regions.

📝
Key scenario: "You need to protect two VMs from planned maintenance reboots affecting both simultaneously" → Availability Set. "You need to protect against an entire data centre failure" → Availability Zones. These are the most common AZ-104 compute scenarios.

VM Scale Sets (VMSS): Deploy and manage a group of identical, load-balanced VMs. Scale manually or automatically based on CPU, memory, custom metrics, or schedule. Two orchestration modes:

  • Uniform — identical VM instances. Simpler, better for stateless workloads
  • Flexible — can mix VM sizes, supports up to 1,000 instances, works with Availability Zones
⚙️VM Configuration: Extensions, Custom Script, and DSC

VM Extensions are small applications that provide post-deployment configuration and automation on Azure VMs. They run after VM deployment without needing you to RDP/SSH in.

  • Custom Script Extension — runs a PowerShell or shell script on a VM. Use to install software, configure settings, or run any command. Script can be hosted in Azure Storage or a public URI.
  • Azure Monitor Agent — collects performance metrics and logs from VMs and sends to a Log Analytics workspace.
  • Microsoft Antimalware extension — deploys and configures Microsoft Antimalware (Windows Defender) on VMs.
  • Azure AD Login extension — enables sign-in to a VM using Entra ID credentials instead of local accounts.

Desired State Configuration (DSC): PowerShell-based configuration management. Define the desired state of a VM (IIS installed, specific services running, files in place) and DSC ensures the VM stays in that state.

Run Command: Execute scripts on a VM directly from the Azure portal or CLI without opening firewall ports or using SSH/RDP. Useful for emergency access when normal connectivity is broken.

🌐Azure App Service

App Service is a PaaS platform for hosting web applications, REST APIs, and mobile backends. You manage code and configuration; Azure manages the OS, runtime, patching, and scaling.

App Service Plans define the region, OS, and compute capacity for your app. Multiple apps can share one plan. Key tiers:

  • Free/Shared — dev/test only, shared infrastructure, no SLA, limited features
  • Basic — dedicated compute, manual scale, no auto-scale, no slots
  • Standard — auto-scale, deployment slots, custom domains, SSL, VNet integration
  • Premium — more compute options, more slots, zone redundancy available
  • Isolated / Isolated v2 — dedicated, fully isolated environment (App Service Environment / ASE). For strict compliance, private networking requirements

Deployment slots: Named environments (staging, production) within the same App Service. Deploy to staging, test, then swap slots with zero downtime. Blue-green deployment pattern.

App Service networking:

  • VNet Integration — allows the app to make outbound calls into a VNet (to reach databases, internal APIs). The app still has a public inbound endpoint.
  • Private Endpoints — give the App Service a private IP on a VNet, making it accessible only from the VNet (inbound traffic). Removes the public endpoint.
  • Access restrictions — IP-based allow/deny rules on the app's inbound traffic.
📦Containers: ACI and AKS

Azure Container Instances (ACI): The fastest way to run a Docker container in Azure. No VM management, no cluster setup. Billed per second of use. Best for: short-lived jobs, burst compute, simple applications, CI/CD build agents.

ACI supports Linux and Windows containers, can mount Azure File shares for persistent storage, and supports container groups (multiple containers sharing a network and lifecycle — similar to Kubernetes pods).

Azure Kubernetes Service (AKS): Managed Kubernetes. Azure manages the control plane (API server, etcd); you manage the node pools (VMs running your workloads).

  • Node pools — groups of VMs with the same size. A system node pool runs Kubernetes system services; user node pools run your application workloads.
  • Cluster autoscaler — automatically adds or removes nodes based on pod scheduling demands.
  • Azure CNI / kubenet — two networking models. Azure CNI gives each pod its own VNet IP (recommended for most production scenarios); kubenet uses NAT.
  • ACR integration — AKS clusters use a managed identity to pull images from Azure Container Registry without storing credentials.
ACI vs AKS: The exam often asks when to use each. ACI = simple, fast, short-lived, serverless containers. AKS = complex multi-container applications, need orchestration, auto-scaling, rolling updates, persistent workloads.
📄ARM Templates and Bicep

The AZ-104 exam tests practical IaC knowledge — you need to understand ARM template structure and be able to read Bicep syntax.

ARM template sections:

  • $schema — identifies the template schema version
  • contentVersion — your versioning for the template
  • parameters — values passed at deployment time (with types, defaults, allowed values)
  • variables — computed values reused throughout the template
  • resources — the resources to deploy (required)
  • outputs — values returned after deployment

dependsOn: Explicitly declare dependencies between resources when ARM can't infer them automatically. Example: a VM extension must deploy after the VM.

linked and nested templates: Break large templates into smaller files. Linked templates reference an external URI. Nested templates are defined inline within the parent template. Both help manage complexity and enable reuse.

Deployment scopes: Templates can deploy at resource group, subscription, management group, or tenant scope. Most deployments are at resource group scope. Subscription-scope deployments create resource groups and assign policies. Use az deployment sub create for subscription-level deployments.

Domain 4

Implement and Manage Virtual Networking

20–25%

Networking is consistently the most challenging domain for AZ-104 candidates. VNets, NSGs, routing, load balancers, VPN Gateway, and DNS — all tested with scenario questions. Read carefully: many scenarios hinge on a single configuration detail.

🌐Virtual Networks and Subnets

VNet basics: A Virtual Network (VNet) is an isolated, private network in Azure. Resources in the same VNet can communicate by default. VNets are scoped to a single region and subscription.

Address space: Defined using CIDR notation (e.g. 10.0.0.0/16 gives 65,536 IP addresses). Cannot overlap with other VNets you peer with or your on-premises networks. Plan address spaces carefully — they're hard to change after resources are deployed.

Subnets: Subdivisions of a VNet's address space. Each resource goes into a subnet. Azure reserves 5 addresses per subnet (first 4 + last): network address, gateway, DNS, broadcast, and another for Azure internal use. A /29 subnet gives only 3 usable addresses — use /27 or larger for production.

Special subnets:

  • GatewaySubnet — required for VPN Gateway and ExpressRoute gateways. Must be named exactly "GatewaySubnet". Use at least /27.
  • AzureBastionSubnet — required for Azure Bastion. Must be named exactly "AzureBastionSubnet". Must be at least /26.
  • AzureFirewallSubnet — required for Azure Firewall. Must be named exactly "AzureFirewallSubnet". Must be /26 or larger.
📝
Exam tip: The exact names "GatewaySubnet", "AzureBastionSubnet", and "AzureFirewallSubnet" are tested. These names are case-sensitive and cannot be anything else for the respective services to work.
🛡️Network Security Groups (NSGs)

NSGs are stateful firewalls containing inbound and outbound security rules. Each rule specifies: priority (100–4096, lower = higher priority), source/destination (IP, CIDR, service tag, or application security group), port, protocol, and Allow/Deny action.

Where NSGs can be applied:

  • Subnet — applies to all traffic entering/leaving the subnet
  • Network interface (NIC) — applies to a specific VM's traffic

Traffic evaluation when both subnet and NIC NSGs exist: inbound — subnet NSG evaluated first, then NIC NSG. Outbound — NIC NSG first, then subnet NSG. Both must allow traffic for it to pass.

Default rules (cannot be deleted, can be overridden with lower priority number):

  • AllowVNetInBound (65000) — allows traffic from VNet address space
  • AllowAzureLoadBalancerInBound (65001) — allows Azure load balancer health probes
  • DenyAllInBound (65500) — denies everything else inbound

Service tags: Named groups of IP prefixes managed by Microsoft. Use instead of hardcoding IP ranges. Examples: Internet, VirtualNetwork, AzureLoadBalancer, Storage, Sql, AppService.

Application Security Groups (ASGs): Group VMs logically by role (e.g. "WebServers", "DatabaseServers") and use ASG names in NSG rules instead of IP addresses. Rules automatically apply to all VMs in the ASG. Simplifies rule management as IPs change.

🔀VNet Peering and Routing

VNet peering connects two VNets (in the same or different regions, same or different subscriptions, same or different tenants) so their resources can communicate using private IP addresses. Traffic stays on the Microsoft backbone — never traverses the public internet.

Peering is non-transitive: if VNet A peers with VNet B, and VNet B peers with VNet C, VNet A cannot communicate with VNet C through VNet B. You need to peer A to C directly, or use a hub VNet with a gateway or NVA to route between them.

Key peering settings:

  • Allow gateway transit — allows the peered VNet to use this VNet's VPN gateway to connect to on-premises
  • Use remote gateways — the peered VNet uses the remote VNet's gateway (must have Allow gateway transit enabled on the other side)

User-defined routes (UDR): Override Azure's default routing by creating a route table and associating it with a subnet. Common use: force all internet traffic through a Network Virtual Appliance (NVA) or Azure Firewall for inspection. Next hop types: Virtual appliance (specify NVA IP), Virtual network gateway, VNet, Internet, None (drop the traffic).

Azure Firewall vs NSG: NSGs are simple allow/deny rules at layer 4. Azure Firewall is a managed, stateful firewall with layer 7 filtering, FQDN rules, threat intelligence, and centralised logging. Use Azure Firewall for hub-and-spoke architectures where you need centralised egress inspection.

⚖️Load Balancing Services
ServiceLayerScopeUse for
Azure Load BalancerLayer 4 (TCP/UDP)RegionalLoad balance VMs within a region, internal or public
Application GatewayLayer 7 (HTTP/S)RegionalWeb apps needing URL routing, SSL termination, WAF
Azure Front DoorLayer 7 (HTTP/S)GlobalGlobal web apps, CDN, WAF, anycast routing
Traffic ManagerDNSGlobalDNS-based routing across regions, failover, geographic routing

Azure Load Balancer SKUs: Standard (zone-redundant, supports availability zones, HTTPS health probes, outbound rules) vs Basic (free, no zone support, no SLA). Always use Standard for production.

Application Gateway components: Frontend IP, Listener (port/protocol/hostname), Rules (map listeners to backend pools), Backend pools (VMs, VMSS, App Service, IPs), HTTP settings, Health probes.

WAF on Application Gateway: Web Application Firewall protects against OWASP top 10 (SQL injection, XSS, etc.). Detection mode logs and alerts; Prevention mode blocks malicious requests.

🔗VPN Gateway and ExpressRoute

VPN Gateway connects on-premises networks to Azure VNets over encrypted IPsec/IKE tunnels across the public internet.

  • Site-to-site (S2S) — connects an on-premises VPN device to Azure. Persistent, always-on connection.
  • Point-to-site (P2S) — individual devices (laptops, workstations) connect to Azure VNet. Uses certificates, Entra ID, or RADIUS authentication. Good for remote workers.
  • VNet-to-VNet — connect two Azure VNets via VPN. Usually VNet peering is preferred (lower latency, higher bandwidth, simpler), but VNet-to-VNet VPN works across subscriptions and tenants without peering.

VPN Gateway SKUs: VpnGw1 through VpnGw5 (and AZ variants for zone-redundancy). Higher SKUs = more bandwidth and more S2S tunnels. Active-active mode uses two VPN instances for higher resilience.

ExpressRoute — dedicated private connectivity from on-premises to Azure, not over the internet. Offered through connectivity providers (BT, Equinix, Megaport etc.).

  • Bandwidth: 50 Mbps to 100 Gbps
  • SLA: 99.95% uptime
  • ExpressRoute Global Reach — connect two on-premises sites to each other through the Microsoft backbone via their respective ExpressRoute circuits
  • ExpressRoute FastPath — bypasses the ExpressRoute gateway for data path traffic, reducing latency
🔍Azure DNS

Public DNS zones: Host your public domain's DNS records in Azure DNS. Delegate from your registrar by setting Azure DNS name servers. Azure DNS is not a domain registrar — buy the domain elsewhere, then host the DNS in Azure.

Private DNS zones: Resolve names within your VNets without exposing records to the internet. Link a private DNS zone to VNets — VMs in those VNets resolve records in the zone automatically. Common pattern: use privatelink.blob.core.windows.net zone for storage private endpoints.

Azure-provided DNS (168.63.129.16): Default DNS for VMs in a VNet. Resolves Azure service names and forwards external queries to Azure's public resolvers. Can be replaced with custom DNS servers (point to your own DNS VM or Azure DNS Resolver).

Azure DNS Private Resolver: A managed DNS service that lets you query Azure private DNS zones from on-premises over ExpressRoute or VPN without deploying DNS server VMs. Inbound endpoints accept queries from on-premises; outbound endpoints forward queries to on-premises DNS servers.

Domain 5

Monitor and Maintain Azure Resources

10–15%

The final domain covers monitoring, backup, and site recovery. Smaller in weight but often the difference between passing and failing — these are "easy marks" if you know the tools.

📊Azure Monitor

Azure Monitor is the central platform for all monitoring in Azure. It collects two types of data:

  • Metrics — numerical time-series data (CPU percentage, disk read bytes/sec, network in/out). Available for 93 days. Near real-time, sampled at 1-minute intervals by default.
  • Logs — structured and unstructured data sent to a Log Analytics workspace. Query with KQL (Kusto Query Language). Retention configurable from 30 to 730 days (longer with Basic logs).

Diagnostic settings: Configure each resource to send its metrics and logs somewhere — a Log Analytics workspace, a Storage account, or an Event Hub. Not all data flows automatically — diagnostic settings must be explicitly configured per resource.

Alerts: Trigger when a metric or log query crosses a threshold. Alert rules have: scope (what resource), condition (what to watch), action group (what to do), and severity (0–4).

Action groups: Define what happens when an alert fires — email, SMS, push notification, voice call, webhook, Azure Function, Logic App, ITSM integration, Automation runbook.

Log Analytics workspaces: The central repository for logs. Multiple resources across multiple subscriptions can send to the same workspace. KQL query examples the exam tests:

  • Heartbeat | summarize LastCall = max(TimeGenerated) by Computer — find when VMs last reported in
  • AzureActivity | where OperationName == "Delete Virtual Machine" — audit VM deletions
🔍Azure Monitor Insights and Application Insights
  • VM Insights — pre-built monitoring for VMs: performance charts, process and dependency maps, without writing KQL queries. Requires Azure Monitor Agent and a Log Analytics workspace.
  • Container Insights — monitoring for AKS clusters and container workloads. Shows node and pod performance, logs from containers.
  • Network Insights — topology view of your networking resources, health status, and connectivity diagnostics.
  • Application Insights — APM (Application Performance Monitoring) for web applications. Tracks request rates, response times, failure rates, exceptions, dependencies. Requires SDK or auto-instrumentation in your app code. Stores data in a Log Analytics workspace.
💾Azure Backup

Azure Backup protects Azure VMs, SQL Server in Azure VMs, Azure Files, on-premises servers, and more.

Recovery Services Vault: The container for backup data and policies. Must be in the same region as the resources being backed up. Configure backup policies to define: frequency (daily, weekly), time, and retention (daily, weekly, monthly, yearly restore points).

Backup for Azure VMs:

  • Application-consistent backups using VSS (Volume Shadow Copy) on Windows
  • File-system-consistent backups on Linux (using pre/post scripts)
  • Supports both managed and unmanaged disks
  • Instant restore — restore from recent snapshots (1–5 days) without waiting for data transfer from the vault
  • Cross-region restore — restore a VM backup into a secondary region (if GRS vault)

Soft delete: When enabled, deleted backup data is retained for 14 additional days before permanent deletion. Protects against accidental or malicious deletion of backup data. Enabled by default on new vaults.

Backup Centre: A unified management experience for all backup across subscriptions and vaults from one place.

🔄Azure Site Recovery (ASR)

Azure Site Recovery is a disaster recovery (DR) service — it continuously replicates VMs from a primary location to a secondary and enables failover.

Supported scenarios:

  • Azure-to-Azure — replicate Azure VMs from one region to another (most common)
  • On-premises VMware/Hyper-V to Azure — replicate on-premises VMs to Azure for DR
  • Physical server to Azure — replicate physical Windows/Linux servers to Azure

Key concepts:

  • RPO (Recovery Point Objective) — maximum acceptable data loss. ASR for Azure VMs offers RPO of minutes (crash-consistent recovery points every 5 minutes, app-consistent every hour).
  • RTO (Recovery Time Objective) — maximum acceptable downtime. ASR enables failover in minutes.
  • Recovery plans — orchestrate failover of multiple VMs in sequence with optional Azure Automation runbooks between steps. Use for multi-tier applications (database first, then application tier, then web tier).
  • Test failover — validate DR readiness without impacting production. Brings up the replica VMs in an isolated test VNet.
📝
Backup vs ASR: Azure Backup = restore from a point-in-time backup (data protection). Azure Site Recovery = replicate and failover to a running replica (disaster recovery / business continuity). Both use Recovery Services Vaults. The exam often asks which to use for a given RPO/RTO requirement.
Exam Day

Strategy, Tips, and What to Expect

🎯Exam Format
  • Questions: 40–60 questions. Mix of multiple choice, multiple select, drag-and-drop, case studies, and hands-on labs (not all sittings include labs)
  • Duration: 120 minutes (plus 20 minutes admin time)
  • Passing score: 700 out of 1000
  • Cost: ~£165 / $165 USD
  • Prerequisite recommended: AZ-900 or equivalent knowledge. Not mandatory.
  • Validity: 1 year, then requires renewal (free online assessment to renew)
📋Top 15 Things to Know
  • Dynamic groups require Entra ID P1 and use membership rules based on user/device attributes
  • Availability Sets protect within one data centre (FDs/UDs). Availability Zones protect across data centres (99.99% SLA)
  • Archive blobs must be rehydrated before access — standard rehydration takes up to 15 hours
  • User delegation SAS is signed with Entra ID credentials — more secure than account key SAS
  • NSG inbound: subnet first, then NIC. NSG outbound: NIC first, then subnet. Both must allow
  • GatewaySubnet, AzureBastionSubnet, AzureFirewallSubnet must use exact these names
  • VNet peering is non-transitive — A↔B and B↔C does not mean A↔C
  • Azure Load Balancer = Layer 4. Application Gateway = Layer 7. Traffic Manager = DNS-based global routing
  • ExpressRoute does not traverse the public internet. VPN Gateway does (encrypted)
  • Azure File Sync: Storage Sync Service → Sync Group → Cloud Endpoint + Server Endpoint(s)
  • Azure Policy Deny applies to new resources only — existing resources are flagged as non-compliant but not deleted
  • App Service deployment slots allow zero-downtime swap (staging → production)
  • Run Command executes scripts on VMs without SSH/RDP — useful for emergency access
  • Azure Backup = point-in-time restore. Azure Site Recovery = continuous replication and failover
  • Diagnostic settings must be configured per-resource — logs don't flow to Log Analytics automatically
Hands-on practice is essential for AZ-104. Create a free Azure account and build: a VM with an NSG, a VNet with peering, a storage account with a lifecycle policy, an App Service with a deployment slot. The exam scenarios make much more sense after you've actually configured these things.
🚀
Next step: After AZ-104, consider AZ-305 (Azure Solutions Architect) for the expert level, or MS-102 (Microsoft 365 Administrator) if you manage Microsoft 365 alongside Azure. Both study guides are coming to Queclouds.
Associate · MS-102

Microsoft 365 Administrator (MS-102)
Complete Study Guide

MS-102 is the core Microsoft 365 admin certification. This free guide covers all five domains — tenant management, identity, security, compliance, and Microsoft 365 apps. Written for real administrators, not just exam theory.

5
Exam domains
40–60
Questions
700
Pass score / 1000
Free
This guide
ℹ️
About this guide: MS-102 replaced MS-365 (formerly MS-100 + MS-101 combined). It's a hands-on exam that rewards administrators who actually manage Microsoft 365 tenants. A free trial tenant at admin.microsoft.com is invaluable while you study — many questions make immediate sense once you've seen the admin centres firsthand.
Domain 1

Deploy and Manage a Microsoft 365 Tenant

20–25%

This domain covers everything at the tenant level — setting up a new tenant, managing subscriptions, configuring services, monitoring health, and deploying Microsoft 365 Apps. It's the administrative foundation everything else builds on.

🏢Tenant Configuration and Setup

Microsoft 365 tenant: A dedicated instance of Microsoft 365 services. Every organisation that subscribes gets a tenant with a unique .onmicrosoft.com domain. You add your own custom domains (verified via DNS TXT record).

Custom domains: Add your company domain (e.g. contoso.com) in the Microsoft 365 admin centre → Settings → Domains. Verify ownership by adding a TXT record to your public DNS. After verification, add DNS records for Exchange (MX, Autodiscover), Teams (SIP, lyncdiscover), and other services.

Organisational profile settings: Configure in admin centre → Settings → Org settings: organisation name, technical contact, release preferences (targeted release vs standard release — targeted release gives you new features 2–4 weeks early), password expiration policies.

Microsoft 365 Apps deployment:

  • Office Deployment Tool (ODT) — XML-based tool for customising and deploying Microsoft 365 Apps to Windows endpoints. Control which apps install, which language, update channel, and whether Outlook is included.
  • Update channels: Current Channel (monthly, latest features), Monthly Enterprise Channel (monthly, more tested), Semi-Annual Enterprise Channel (twice yearly, most stable — recommended for organisations that need change control)
  • Microsoft 365 Apps admin centre (config.office.com) — cloud-based management for Microsoft 365 Apps policies, update schedules, inventory, and health.

Microsoft 365 admin centre roles: Key admin roles to know for the exam:

  • Global Administrator — full access to all admin features. Maximum 5 recommended.
  • Global Reader — read-only version of Global Admin. For auditors and monitoring.
  • User Administrator — manage users, groups, and password resets (except Global Admins)
  • Exchange Administrator — manage Exchange Online including mailboxes, mail flow, and connectors
  • Teams Administrator — manage Microsoft Teams policies, settings, and meetings
  • SharePoint Administrator — manage SharePoint Online sites, settings, and storage
  • Security Administrator — manage security policies in Security & Compliance, Defender, and Entra ID
  • Compliance Administrator — manage compliance features in Microsoft Purview
  • Billing Administrator — manage subscriptions, licences, and purchase services
  • Helpdesk Administrator — reset passwords and manage service requests for non-admin users
📝
Exam tip: Role assignment questions are very common. Know that Helpdesk Administrator can only reset passwords for users who are not admins. User Administrator can reset passwords for users and helpdesk admins. Only Global Admin can reset another Global Admin's password.
📊Monitoring Tenant Health and Service Requests

Service health dashboard: admin.microsoft.com → Health → Service health. Shows current status of all Microsoft 365 services (Exchange, Teams, SharePoint, etc.) — whether they're operating normally, have advisories, or are experiencing incidents. Subscribe to email notifications for services your organisation depends on.

Message centre: admin.microsoft.com → Health → Message centre. Microsoft posts planned changes, new features, and required actions here. Important: messages have action dates — if you miss an action by the deadline, your service may be affected. Filter by service, sort by urgency.

Microsoft 365 usage reports: admin.microsoft.com → Reports → Usage. Shows adoption data: active users per service, email volume, Teams meeting minutes, SharePoint storage used. Available for 7, 30, 90, and 180 day windows. User-level data can be anonymised for privacy compliance (GDPR).

Microsoft 365 Adoption Score: A score (0–800) measuring how effectively your organisation uses Microsoft 365 across people experiences (communication, meetings, content collaboration) and technology experiences (endpoint analytics, network connectivity, Microsoft 365 Apps health).

Support tickets: Raise service requests in the admin centre → Support → New service request. Microsoft provides 24/7 support for all paid subscriptions. Severity A (critical business impact) gets fastest response. You can also run diagnostic checks directly in the admin centre for many common issues.

📱FastTrack and Migration

Microsoft FastTrack is a free onboarding service for customers with 150+ eligible licences. A FastTrack engineer helps you plan and execute the deployment — not doing the work for you, but providing guidance, tools, and best practices.

Migration approaches for Exchange:

  • Cutover migration — migrate all mailboxes at once. Good for small organisations (<150 mailboxes). DNS MX record cut over after migration completes. Single migration event.
  • Staged migration — migrate mailboxes in batches. Used when migrating from Exchange 2003/2007 (no hybrid support). Requires Azure AD Connect to sync on-premises AD.
  • Hybrid migration (Express or Full) — recommended for most organisations. Establish a hybrid connection between on-premises Exchange and Exchange Online. Mailboxes migrated in batches with full coexistence (shared address book, calendar free/busy, mail flow). Users can't tell which system their mailbox is on.
  • IMAP migration — for migrating from non-Exchange mail systems (Gmail, Lotus Notes, other IMAP servers). Migrates email only — no calendar or contacts.
Domain 2

Implement and Manage Identity and Access

25–30%

The largest domain. Identity is the foundation of Microsoft 365 security. Entra ID, hybrid identity, MFA, Conditional Access, and Privileged Identity Management are all heavily tested with scenario questions.

🔄Hybrid Identity with Entra Connect

Microsoft Entra Connect (formerly Azure AD Connect) synchronises identities from on-premises Active Directory to Entra ID. It's the cornerstone of hybrid identity — enabling the same username and password to work for both on-premises and cloud services.

Authentication methods:

  • Password Hash Sync (PHS) — hashes of password hashes are synced to Entra ID. Authentication happens in the cloud. Simplest to deploy and maintain. Supports leaked credential detection (Microsoft compares synced hashes against known breached password lists). Works even if on-premises is unavailable.
  • Pass-through Authentication (PTA) — Entra ID passes the authentication request to an on-premises PTA agent, which validates credentials against AD DS. Passwords never leave the premises. Requires always-on connectivity. Multiple PTA agents recommended for resilience.
  • Federation with AD FS — authentication redirected to on-premises AD FS servers. Maximum customisation (custom MFA, claims rules) but highest complexity. Most organisations moving away from AD FS toward PHS or PTA.

Entra Connect Health: Monitors the health of your Entra Connect infrastructure — sync errors, agent status, performance metrics. Available in the Entra admin centre under Monitoring → Entra Connect Health. Requires Entra ID P1.

Entra Connect Cloud Sync: A lighter alternative to Entra Connect for simpler scenarios. Runs as an agent on-premises (no sync server needed), configures from the cloud. Supports multi-forest topologies but fewer features than full Entra Connect. Good for organisations with a single forest and straightforward sync requirements.

📝
Exam tip: PHS is the default and recommended auth method. It's the only method that provides leaked credential detection. PTA keeps passwords on-prem. AD FS provides the most customisation. The exam frequently asks which to choose given specific security or compliance requirements.
🛡️Entra ID Authentication Methods and MFA

Authentication methods available:

  • Microsoft Authenticator app — push notifications, passwordless phone sign-in, TOTP codes. Recommended for most users.
  • FIDO2 security keys — hardware keys (YubiKey etc). Phishing-resistant, passwordless. Best for frontline workers or high-security scenarios.
  • Windows Hello for Business — biometric or PIN sign-in on Windows devices. Device-bound, phishing-resistant.
  • TOTP apps — third-party authenticator apps (Google Authenticator, Authy). Less preferred but supported.
  • SMS / voice call — one-time codes via text or phone call. Weakest MFA method — SIM swap attacks are possible. Use only when better options aren't available.
  • Temporary Access Pass (TAP) — time-limited passcode issued by an admin for onboarding new users or recovering account access. User sets up authenticator with TAP, then removes TAP.

Authentication Methods policy (modern): Configure which methods are available to users in Entra admin centre → Protection → Authentication methods. The modern policy replaces the legacy per-user MFA settings and the legacy SSPR authentication methods policy.

MFA registration campaign: Nudge users who haven't registered for MFA to do so at sign-in time. Configure in Entra admin centre → Protection → Authentication methods → Registration campaign. Set a snooze limit (e.g. users can dismiss 3 times before forced to register).

🔒Conditional Access Policies in Depth

Conditional Access evaluates every sign-in attempt and applies policies based on signals. For MS-102 you need to know not just what CA does, but how to configure specific policy scenarios.

Signal types (conditions):

  • User / group — apply to all users, specific users, groups, or roles
  • Cloud apps or actions — target specific apps (Exchange Online, SharePoint, Teams, All cloud apps)
  • Conditions → Sign-in risk — Entra ID Protection risk levels (Low, Medium, High)
  • Conditions → User risk — based on user behaviour patterns (leaked credentials, impossible travel)
  • Conditions → Device platform — Windows, iOS, Android, macOS
  • Conditions → Locations — named locations (IP ranges) or country/region
  • Conditions → Client apps — browser, modern auth clients, legacy auth clients (Exchange ActiveSync, Other clients)
  • Conditions → Device filter — based on device attributes (compliant, joined, specific model)

Grant controls:

  • Require MFA
  • Require device to be marked compliant (Intune)
  • Require hybrid Entra ID joined device
  • Require approved client app (specific Intune-managed apps)
  • Require app protection policy (MAM policy applied to the app)
  • Require password change (for high-risk users)
  • Terms of use acceptance

Session controls (restrict what happens after sign-in):

  • Sign-in frequency — force re-authentication after X hours regardless of persistent session
  • Persistent browser session — control whether "Stay signed in?" is shown
  • App-enforced restrictions — pass device information to Exchange Online or SharePoint to enforce limited experience on unmanaged devices
  • Conditional Access App Control — route traffic through Microsoft Defender for Cloud Apps for real-time session monitoring
Named locations: Define trusted IP ranges (e.g. your office IP) as named locations. Mark them as trusted. Use in CA policies to require MFA only outside trusted locations — employees don't need MFA at the office but do when working remotely.
👥Entra ID Governance: Access Reviews and Entitlement Management

Access reviews (Entra ID P2) enable periodic reviews of group memberships, application assignments, and role assignments. A reviewer (manager, resource owner, or self-review) confirms whether access is still needed. Automated actions on review completion: remove access, require justification, send reminders.

Common use cases: quarterly review of all guest users, monthly review of Security Administrator role members, annual review of a sensitive SharePoint group.

Entitlement Management (Entra ID P2) provides self-service access request workflows for packages of resources (groups, apps, SharePoint sites). Users request access, approvers approve, access is granted with an expiry. Eliminates ad-hoc email requests for resource access.

Access packages bundle multiple resources together. Example: "Finance Team Access" package includes the Finance security group, the Finance SharePoint site, and a Power BI workspace. New finance employees request this one package instead of three separate requests.

Privileged Identity Management (PIM): Just-in-time activation for Entra ID roles and Azure RBAC roles. Eligible assignments require activation. Activation can require MFA, justification, approval, and is time-limited. Full coverage in the AZ-104 guide — same concepts apply here for M365 admin roles (Global Admin, Exchange Admin, etc.).

💻Device Management with Intune

Microsoft Intune is the MDM/MAM platform used to manage devices accessing Microsoft 365. Full coverage in MS-102 because device compliance feeds directly into Conditional Access.

Device enrollment methods (Windows):

  • Windows Autopilot — pre-configure devices in hardware vendor's inventory. When user powers on and signs in with their Microsoft 365 account, the device automatically enrols in Intune and configures itself. Zero-touch IT deployment.
  • Entra ID join + automatic MDM enrolment — user joins device to Entra ID during OOBE (Out of Box Experience). Intune enrolment triggers automatically if MDM authority is set.
  • Group Policy-driven enrolment — for hybrid Entra ID joined devices. GPO triggers Intune enrolment silently in the background.
  • Intune Company Portal — users self-enrol personal (BYOD) devices through the Company Portal app. Gets MDM management for full device control.

Compliance policies: Define what "compliant" means (BitLocker enabled, minimum OS version, no jailbreak, PIN required). Devices that don't meet the policy are marked non-compliant. Conditional Access can then block non-compliant devices from accessing Microsoft 365.

Configuration profiles: Push settings to devices — Wi-Fi, VPN, email, restrictions, certificates. Applied automatically when a device enrols and matches the profile's assignment (user group or device group).

App protection policies (MAM): Protect company data within specific apps on personal devices without enrolling the device. Prevent copy/paste from Outlook to personal apps, require PIN for Outlook, remotely wipe only company data when employee leaves.

Domain 3

Manage Security and Threats

25–30%

Security is tested heavily in MS-102. Microsoft 365 Defender, Defender for Office 365, anti-spam, anti-malware, attack simulation, and security scores are all fair game. Know not just what each tool does but how to configure it.

🛡️Microsoft 365 Defender Portal

The Microsoft 365 Defender portal (security.microsoft.com) is the unified security operations centre for Microsoft 365. It consolidates:

  • Microsoft Defender XDR — correlates alerts from Defender for Endpoint, Defender for Office 365, Defender for Identity, and Defender for Cloud Apps into unified incidents
  • Threat explorer — real-time analysis of threats detected in email (Plan 2 only). Search for emails by sender, recipient, subject, URL, attachment. Perform threat hunting.
  • Attack simulator — run simulated phishing attacks and password spray campaigns against your users. Measure click rates. Assign training to users who fail.
  • Secure Score — Microsoft 365 Secure Score measures your security posture (0–100%). Each recommended action increases your score. Use it to prioritise security improvements and track progress over time.
  • Incidents & alerts — unified incident queue combining signals from all Defender products. Investigate, classify, and respond from one console.
📧Exchange Online Protection (EOP)

Exchange Online Protection is the baseline email filtering layer included with every Exchange Online licence. It protects against spam, malware, and bulk email.

Anti-spam policies: Configure in security.microsoft.com → Email & collaboration → Policies & rules → Anti-spam. Key settings:

  • Bulk complaint level (BCL) threshold — control what level of bulk email (e.g. newsletters) is treated as spam. Lower number = stricter. 1–3 for strict, 5–7 for standard.
  • Spam confidence level (SCL) — score assigned to each message. SCL 5–6 = spam, SCL 9 = high confidence spam. Configure what action to take at each level (quarantine, move to junk, delete).
  • Safe senders/blocked senders — per-policy allow/block lists. Tenant allow/block lists (security.microsoft.com → Tenant Allow/Block Lists) apply globally.
  • Outbound spam policy — limits per-user email sending rates. When a user account is compromised and sends spam, the outbound limits trigger and the account is restricted. Alerts are sent to security team.

Anti-malware policies: All attachments are scanned. Malware is blocked and quarantined. Configure notification settings (notify admin, not the recipient — notifying the sender teaches attackers that their malware was detected).

Quarantine: Messages filtered as spam, phishing, or malware go to quarantine. Admins can review and release quarantined messages. Users can manage their own spam quarantine (not phishing or malware). Configure quarantine policies to control what users can see and do with quarantined messages.

🔗Defender for Office 365 (Plan 1 and Plan 2)

Plan 1 features (included in Microsoft 365 Business Premium, add-on for E3):

  • Safe Links — rewrites URLs in emails and Office docs. Scans at click time. If URL weaponised after delivery, blocks it. Configure: rewrite all URLs, scan content in Teams messages, do not allow click-through.
  • Safe Attachments — detonates attachments in a sandbox. If malicious, blocks the email. Enable Dynamic Delivery to avoid delays.
  • Anti-phishing (Defender layer) — impersonation protection for users and domains, mailbox intelligence, spoof intelligence. More advanced than EOP baseline.

Plan 2 additional features (included in M365 E5, add-on for E3):

  • Threat Explorer — real-time email threat hunting and investigation
  • Attack Simulator — phishing simulations and security awareness training campaigns
  • Automated Investigation and Response (AIR) — automatically investigates alerts and takes remediation actions (remove malicious emails, block senders) without manual intervention
  • Threat trackers — curated queries showing trending threats relevant to your organisation
  • Campaign views — groups related phishing emails into campaigns showing the full attack timeline
📝
Preset security policies: Microsoft maintains two presets — Standard and Strict. Standard is appropriate for most users. Strict is for high-risk users (executives, finance, IT). Assign both simultaneously: Strict to the high-risk group, Standard to everyone else. Strict takes precedence when both apply.
🔍Microsoft Defender for Identity

Defender for Identity (formerly Azure ATP) monitors on-premises Active Directory and Entra ID for identity-based attacks. It analyses Active Directory traffic and event logs to detect:

  • Reconnaissance — account enumeration, network mapping, LDAP queries
  • Compromised credentials — brute force, pass-the-hash, pass-the-ticket, Kerberoasting
  • Lateral movement — remote execution, domain dominance attempts
  • Domain dominance — DCSync attacks, skeleton key malware, Golden Ticket attacks

Requires a Defender for Identity sensor installed on domain controllers. The sensor monitors AD traffic passively — no agents on user workstations needed.

Alerts surface in the Microsoft 365 Defender portal (security.microsoft.com) alongside other Defender alerts, enabling correlated investigation across email, endpoint, and identity signals.

☁️Microsoft Defender for Cloud Apps (MCAS)

Defender for Cloud Apps is a Cloud Access Security Broker (CASB). It provides visibility and control over cloud app usage across your organisation.

Key capabilities:

  • Cloud discovery — analyse firewall/proxy logs to discover all cloud apps in use (Shadow IT). Assess app risk scores. Block or sanction apps through your network controls.
  • App connectors — API-level integration with sanctioned apps (Microsoft 365, Salesforce, Box, GitHub etc). See all activity, apply DLP policies, detect anomalies.
  • Conditional Access App Control — proxy sessions between users and cloud apps for real-time control. Block downloads of sensitive files from unmanaged devices. Watermark downloaded documents.
  • Anomaly detection — impossible travel, mass download, activity from anonymous IP, ransomware activity patterns.
  • Information protection — apply Microsoft Purview sensitivity labels to files in connected cloud apps.
💡Entra ID Protection

Entra ID Protection (requires P2) analyses billions of sign-in signals to detect compromised accounts and risky sign-ins.

Risk types:

  • Sign-in risk — probability that the specific sign-in is not by the legitimate user. Signals: anonymous IP, atypical travel, malware-linked IP, unfamiliar sign-in properties, admin confirmed compromise.
  • User risk — probability that the user account is compromised. Signals: leaked credentials (found on dark web), Entra ID threat intelligence.

Risk policies:

  • Sign-in risk policy — when sign-in risk is High: block or require MFA. When Medium: require MFA. Built-in to Entra ID Protection or configured via Conditional Access (recommended approach — more flexible).
  • User risk policy — when user risk is High: require password change. Block access until remediated.
  • MFA registration policy — require all users (or a specific group) to register for MFA within X days of first sign-in.

Risky users and risky sign-ins are surfaced in the Entra admin centre → Protection → Risky users and Risky sign-ins. Admins can dismiss risk (if investigation shows false positive) or confirm compromise (marks user as compromised, triggers higher-risk classification).

Domain 4

Manage Compliance

10–15%

Microsoft Purview compliance tools — information protection, DLP, retention, eDiscovery, and audit. Smaller domain but the questions are precise — know the difference between similar-sounding features.

🏷️Microsoft Purview Information Protection

Sensitivity labels classify and protect content. Labels can apply encryption, content markings (headers, footers, watermarks), and restrict what users can do with the content.

Label scope:

  • Files & emails — applied to Word, Excel, PowerPoint, Outlook emails. Can encrypt and restrict forwarding.
  • Groups & sites — applied to Microsoft 365 Groups, Teams, and SharePoint sites. Controls privacy (public/private), guest access, external sharing.
  • Schema assets — applied to data in Azure Purview (for data governance).

Auto-labelling policies: Automatically apply labels to content containing sensitive information types (credit card numbers, NHS numbers) — either as a recommendation ("This looks like sensitive content — apply label?") or automatically without user involvement. Server-side auto-labelling scans SharePoint and OneDrive at rest.

Encryption settings: When a label applies encryption, you configure who can decrypt (specific users, groups, or authenticated users), what they can do (view only, view and edit, full control), and whether offline access is permitted and for how long.

🔏Data Loss Prevention (DLP)

DLP policies detect and protect sensitive information across Exchange Online, SharePoint, OneDrive, Teams, and endpoint devices.

Sensitive information types (SITs): Pre-built patterns (regex + validation) for common sensitive data. Microsoft provides 200+ built-in SITs. You can create custom SITs using regex patterns, keyword lists, and confidence levels.

Trainable classifiers: Machine learning models that identify content by context, not just patterns. Built-in examples: Resume, Source Code, Tax, Financial Statements, Healthcare. Used when pattern-matching (regex) isn't sufficient — e.g. identifying internal project documents or customer communications.

DLP policy mode:

  • Simulation (audit-only) — runs silently, logs matches, no user impact. Use for 1–2 weeks before enabling enforcement.
  • Turn it on — active enforcement. Block with override, block without override, or restrict based on conditions.

Endpoint DLP: Extends DLP to Windows 10/11 and macOS endpoints. Prevents sensitive data from being copied to USB drives, printed, uploaded to personal cloud apps, or shared via Bluetooth. Requires onboarding devices into Defender for Endpoint.

🗂️Records Management and Retention

Retention policies (location-based) apply to all content in a scope: all Exchange mailboxes, all SharePoint sites, all Teams channels. Set once, forget.

Retention labels (item-level) are applied to individual items — either manually by users or automatically. Labels can declare content as a record (cannot be modified or deleted by users during the retention period) or a regulatory record (even admins cannot delete — for the most strict regulatory requirements).

Disposition review: When a retention label's retention period expires, instead of automatic deletion you can trigger a review. Reviewers are notified, examine the content, and decide: dispose (delete), relabel, or extend retention. Creates a full audit trail of the disposition decision.

Preservation Lock: When applied to a retention policy or label policy, it cannot be turned off, shortened, or deleted until the retention period expires. Required for FINRA, SEC 17a-4, and other regulations requiring immutable record retention. One-way action — cannot be reversed.

🔎eDiscovery and Audit

Content search — search across Exchange mailboxes, SharePoint sites, OneDrive, Teams chats, and Viva Engage for content matching keywords, date ranges, or senders. Export results to PST or as individual files.

eDiscovery (Standard) — includes content search plus the ability to place content on legal hold (preserves content even if a user deletes it) and export for legal review. Available in most M365 plans.

eDiscovery (Premium) — adds custodian management (track people involved in a case), near-duplicate detection, email threading (group related emails), attorney-client privilege detection, and smart tag suggestions. Requires E5 or E5 Compliance add-on.

Legal hold vs retention policy: Legal hold (in an eDiscovery case) preserves content for a specific legal matter — indefinitely, or until the hold is removed. Retention policies preserve content for a fixed period for compliance. Both can coexist — preservation lock from eDiscovery takes precedence.

Audit (Standard): Records user and admin activity across Microsoft 365 — sign-ins, file access, mailbox access, admin actions. Retained for 90 days. Search the audit log in compliance.microsoft.com → Audit.

Audit (Premium): Longer retention (up to 1 year, extendable to 10 years with add-on licence), high-value audit events (when email was read, not just received — MailItemsAccessed), higher bandwidth access to the API. Requires E5 or E5 Compliance.

Domain 5

Manage Microsoft 365 Apps and Services

15–20%

Exchange Online administration, SharePoint and OneDrive management, Teams policies, and collaboration settings. These are the day-to-day admin tasks — practical hands-on knowledge is the best preparation here.

📧Exchange Online Administration

Mailbox types:

  • User mailbox — standard mailbox associated with a licensed user account
  • Shared mailbox — accessed by multiple users without a dedicated licence (up to 50GB). Used for helpdesk@, info@, reception@ addresses. Users added as Full Access or Send As delegates.
  • Resource mailboxes — Room mailboxes (meeting rooms) and Equipment mailboxes (projectors, cars). Can auto-accept meeting requests based on availability. Managed via Exchange admin centre → Resources.
  • Archive mailbox — additional storage for older emails. Appears as a secondary mailbox in Outlook. Enable per-user in Exchange admin centre → Mailboxes. Users can move or set rules to auto-archive items.

Mail flow rules (transport rules): Conditions + Actions applied to messages in transit. Common uses: add legal disclaimers, block external forwarding, add recipients to all outbound emails, apply sensitivity labels, route through compliance journal.

Accepted domains: Domains that Exchange Online will accept mail for. Three types: Authoritative (Exchange is the final destination), Internal relay (some recipients may be elsewhere — hybrid), External relay (Exchange relays to another mail system).

Email address policies: Define the email address format for users in your organisation (e.g. [email protected]). Applied automatically as users are created or updated.

Address lists and Global Address List (GAL): The GAL is the directory of all recipients visible in Outlook's address book. Address lists are subsets of the GAL (e.g. by department or location). Hidden from address list: mailboxes and groups with "Hide from Exchange address lists" checked — still receive email, just not visible in the GAL.

📝
Litigation Hold vs In-Place Hold: Litigation Hold is the simple, blanket hold — preserves all mailbox content indefinitely. In-Place Hold is query-based — preserve only items matching specific criteria (keywords, date range, senders). Both are configured in the Exchange admin centre.
🗂️SharePoint Online and OneDrive Administration

SharePoint admin centre (admin.microsoft.com → SharePoint):

  • Sites — view, create, delete, and restore site collections. Configure storage quotas per site. Set sharing settings (who external users can share with).
  • Policies → Sharing — tenant-wide sharing controls. Most restrictive settings: "Only people in your organisation." Most permissive: "Anyone" (anonymous links). Individual site settings can be more restrictive but not more permissive than the tenant setting.
  • Policies → Access control — block unmanaged devices from downloading files (only browser access), restrict access by IP location, set session timeout for unmanaged devices.
  • Content services → Term store — managed metadata taxonomy used across SharePoint for consistent tagging and classification.

SharePoint storage: Default 1TB + 10GB per licence. Can purchase additional storage. Shared across all site collections — no per-site quota by default (you can set one).

OneDrive admin settings: Configure default storage per user (1TB default, can set higher for E plans), sync client restrictions (only sync to domain-joined devices), retention of deleted accounts' OneDrive (default 30 days before permanent deletion — configurable up to 10 years).

Microsoft 365 Groups expiration: Set expiration period (e.g. 180 days). Group owners are emailed to renew. Unrenewed groups are soft-deleted. Restoreable for 30 days. Reduces SharePoint and Teams sprawl.

💬Microsoft Teams Administration

Teams admin centre (admin.teams.microsoft.com):

Teams policies (assigned to users or groups):

  • Teams policy — whether users can create private channels, shared channels, discover teams
  • Meeting policy — who can bypass lobby, allow cloud recording, maximum meeting size, live captions, whiteboard, PowerPoint Live
  • Messaging policy — read receipts, delete/edit sent messages, priority notifications, Giphy, memes, stickers
  • App permission policy — which apps (Microsoft, third-party, custom) users can add to Teams
  • App setup policy — which apps are pinned in the Teams sidebar for users
  • Calling policy — private calling, call forwarding, simultaneous ring, voicemail

Teams Phone: Cloud-based PBX functionality. Requires Teams Phone licence. Options for PSTN connectivity: Microsoft Calling Plans (buy minutes from Microsoft), Operator Connect (use your telco's SIP trunks), Direct Routing (connect your own SBC to Teams).

Live events: Broadcast to up to 20,000 attendees (higher with Teams Premium). Requires producer, presenters, and attendees. One-way broadcast — attendees watch but don't interact directly.

Teams Rooms: Purpose-built meeting room devices (Surface Hub, Logitech Tap, Poly). Require Teams Rooms licence (Basic free for limited features, Pro for full features). Managed centrally from Teams Rooms Pro Management portal.

Exam Day

Strategy and What to Expect

🎯Exam Format
  • Questions: 40–60. Mix of multiple choice, multiple select, case studies, drag-and-drop, and build list
  • Duration: 120 minutes (plus 20 minutes admin time)
  • Passing score: 700 out of 1000
  • Cost: ~£165 / $165 USD
  • Validity: 1 year, renewable via free online assessment
  • Recommended experience: 1+ year as a Microsoft 365 administrator
📋Top 15 Things to Know
  • PHS is the recommended authentication method — the only one that detects leaked credentials
  • PTA passes auth to on-premises AD — passwords never leave the premises
  • Helpdesk Admin resets passwords for non-admins only. User Admin can reset helpdesk admin passwords. Only Global Admin resets Global Admin passwords.
  • Conditional Access requires Entra ID P1 — Security Defaults are free but mutually exclusive with CA
  • Named locations mark trusted IPs — use to require MFA only outside the office
  • Defender for Office 365 Plan 1 = Safe Links + Safe Attachments + anti-phishing. Plan 2 adds Threat Explorer + Attack Simulator + AIR.
  • Preset security policies: Strict overrides Standard when both apply to the same user
  • Sensitivity labels encrypt content — scope determines where they apply (files, sites, assets)
  • Auto-labelling: client-side (recommendation/automatic in apps) vs server-side (scans SharePoint/OneDrive at rest)
  • Endpoint DLP requires devices onboarded to Defender for Endpoint
  • Litigation Hold = all mailbox content, indefinitely. In-Place Hold = query-based, specific content.
  • Audit (Standard) = 90 days. Audit (Premium) = 1 year (+ up to 10 years with add-on).
  • SharePoint sharing: tenant setting is the maximum. Site settings can only be more restrictive.
  • OneDrive deleted account retention: 30 days default, configurable up to 10 years
  • Teams Phone PSTN options: Calling Plans (Microsoft), Operator Connect (telco), Direct Routing (your SBC)
Best advice: Spend time in the compliance.microsoft.com and security.microsoft.com portals — many MS-102 questions show you a screenshot or describe a UI and ask what to configure. Hands-on familiarity cuts your answer time in half and reduces mistakes from similar-sounding options.
🚀
You've covered all four study guides available on Queclouds. AZ-900 → MS-900 → AZ-104 → MS-102. For the next level, AZ-305 (Azure Solutions Architect Expert) is coming soon. Subscribe to the newsletter to be notified when it drops.
Identity · Beginner

Entra ID vs Active Directory: what's actually different and why it matters

The confusion between Microsoft Entra ID and Active Directory Domain Services is one of the most common in the Microsoft ecosystem. They look similar on the surface — both are Microsoft identity systems, both manage users and groups — but underneath they are fundamentally different in almost every way that matters for your day-to-day administration.

📅 April 2026 ⏱ 6 min read 👤 Queclouds 🏷 Beginner

The one-sentence version

Active Directory Domain Services (AD DS) is an on-premises identity system built in the Windows Server 2000 era to manage domain-joined Windows computers and network resources inside a corporate building. Microsoft Entra ID (formerly Azure Active Directory) is a cloud-based identity service built to manage access to web applications, SaaS services, and cloud resources — from any device, anywhere.

They are not the same product. Entra ID is not "Active Directory hosted in the cloud." You cannot simply lift and shift your AD DS to Azure and call it Entra ID. They use different protocols, have different objects, and solve different problems.

Where each one lives and what it manages

AD DS runs on domain controllers — Windows Server VMs or physical servers you own and manage, typically on-premises in your data centre or server room. Every Windows PC that joins the domain communicates with these domain controllers continuously. AD DS manages computers, printers, file shares, Group Policy Objects, and organisational units (OUs) — the traditional on-premises infrastructure of an enterprise IT department.

Entra ID runs entirely in Microsoft's cloud. There are no servers for you to manage, no domain controllers to patch. It manages users, groups, application registrations, and service principals — the identities needed to access Microsoft 365, Azure, Salesforce, GitHub, and thousands of other SaaS applications. It has no concept of Group Policy, OUs, or domain-joined computers in the traditional sense.

Protocols: Kerberos vs OAuth 2.0

This is where the architectural difference becomes most visible. AD DS uses Kerberos and NTLM — authentication protocols from the 1980s and 1990s designed for closed corporate networks where every device is trusted and on the same LAN. When you log into a domain-joined Windows PC, Kerberos issues a ticket granting ticket (TGT) from the domain controller, and your PC uses that ticket to access file servers, printers, and applications on the internal network. This works beautifully inside the office. It falls apart the moment you work from a coffee shop.

Entra ID uses OAuth 2.0, OpenID Connect (OIDC), SAML 2.0, and WS-Federation — modern, internet-native protocols designed for applications accessed over HTTPS from anywhere. These protocols issue tokens (JSON Web Tokens) that carry claims about who you are and what you're allowed to do. Modern web applications, Microsoft 365, Azure, and virtually every SaaS app speaks these protocols natively. Your smartphone, Chromebook, and Mac can all authenticate to Entra ID just as easily as a Windows PC.

FeatureAD DS (Active Directory)Microsoft Entra ID
Where it runsYour on-premises domain controllersMicrosoft's cloud (no servers to manage)
Authentication protocolsKerberos, NTLMOAuth 2.0, OIDC, SAML 2.0
Organisational structureOUs, GPOs, SitesGroups, Administrative Units
Device managementDomain join + Group PolicyEntra join + Intune MDM
Primary query methodLDAPMicrosoft Graph API (REST/JSON)
Built-in MFANo (requires RADIUS or AD FS)Yes, native
Conditional AccessNoYes (requires P1 licence)
Works on personal devicesLimited (requires VPN or hybrid join)Yes, fully supported
SaaS app sign-on (SSO)Only via AD FS federationNative SSO to 3,000+ apps

OUs and Group Policy vs Groups and Intune

In AD DS, you organise objects into Organisational Units (OUs) — folders in a hierarchy. You apply Group Policy Objects (GPOs) to OUs to enforce settings across all computers and users in that OU. Want to block USB drives on all computers in the Finance OU? Link a GPO. Want to push a printer to everyone in the London site? GPO. It's powerful and battle-tested for managing on-premises Windows environments.

Entra ID has no OUs and no GPOs. Instead, you manage settings through Intune configuration profiles (for device settings) and Entra ID security groups (for access control). Groups can be assigned dynamically — if a user's department attribute changes to "Finance," they're automatically added to the Finance group and inherit everything assigned to it. There's no hierarchy, but there's considerably more flexibility.

Synchronising the two: Entra Connect

Most organisations don't choose one or the other — they run both, connected via Microsoft Entra Connect (formerly Azure AD Connect). This sync tool runs on a Windows Server on-premises and continuously copies user accounts, groups, and (optionally) password hashes from AD DS to Entra ID.

The result: your users have one identity. They use the same username and password for their on-premises Windows logon (Kerberos, domain controller) and their Microsoft 365 sign-in (OAuth 2.0, Entra ID). HR creates a user in AD — Entra Connect syncs them to the cloud within 30 minutes, and their Microsoft 365 licence is ready.

ℹ️
Which sync direction? Entra Connect syncs from AD DS to Entra ID — not the other way around. Your on-premises AD remains the source of truth for synced accounts. Changes made directly in Entra ID for synced users may be overwritten at the next sync cycle.

Three ways to join a device

Device joining is where the two systems interact most confusingly for new administrators.

  • Domain join (AD DS) — the classic. The PC joins your on-premises AD domain. It's managed by Group Policy. It needs line-of-sight to a domain controller to authenticate at startup. Has worked since Windows 2000.
  • Entra ID join (cloud-only) — the PC registers in Entra ID only, with no on-premises dependency. Managed entirely by Intune. Ideal for remote workers, new organisations with no on-premises infrastructure, and "cloud-first" deployments. The user signs into Windows with their Microsoft 365 account.
  • Hybrid Entra ID join — the PC joins both AD DS and Entra ID simultaneously. It's managed by both Group Policy and Intune. Best for organisations transitioning from on-premises to cloud — keeps existing GPO management working while gaining cloud capabilities like Conditional Access and Intune compliance.

Which do you need?

If you're starting a new organisation from scratch today, the answer is almost certainly Entra ID only, with Intune for device management and no on-premises AD at all. Microsoft 365 works natively with Entra ID. You get Conditional Access, MFA, passwordless authentication, and Intune out of the box without a single server in your office.

If you have an existing on-premises infrastructure — file servers, on-premises applications, legacy software that requires Kerberos — you'll run a hybrid model for the foreseeable future. AD DS manages on-premises resources. Entra ID handles cloud access. Entra Connect keeps them in sync. This is where most medium and large enterprises are today.

The long-term direction is clear: Microsoft is investing heavily in Entra ID, passwordless authentication, and cloud-native identity. AD DS is in maintenance mode. The migration path is long for large enterprises, but the destination is a world where Entra ID is the only identity system you need.

Quick rule of thumb: If someone asks "where do I manage users for Microsoft 365?" — Entra ID. "Where do I manage users for the on-premises file server?" — Active Directory. If you have Entra Connect running, a change in AD DS will sync to Entra ID automatically.
Related reading
M365 · IT Admin

How to configure Microsoft 365 email retention policies with Purview

Retention policies are your compliance safety net — keeping what regulators require you to keep, and automatically disposing of what you shouldn't hold onto. This step-by-step guide walks through creating, testing, and managing retention policies in Microsoft Purview for Exchange Online email.

📅 April 2026 ⏱ 9 min read 👤 Queclouds 🏷 IT Admin

What retention actually does under the hood

Before touching the portal, it's worth understanding what Exchange Online retention policies actually do to your data — because it's not what most people expect.

When a retention policy is applied to an Exchange mailbox, Microsoft 365 creates (or uses an existing) hidden folder in the mailbox called the Preservation Hold Library. When a user deletes an email, the message doesn't disappear — a copy is silently moved to this hidden folder where it stays for the retention period. Users can't see it, can't access it, and don't know it's there. But compliance administrators can find it via eDiscovery, and it counts toward mailbox size.

This means: users can delete email freely, the inbox stays clean, but nothing that falls under a retention policy is ever truly gone until the retention period expires.

ℹ️
Principle of preservation: If multiple retention policies apply to the same content, Microsoft 365 always applies the longest retention period. A 3-year policy and a 7-year policy on the same mailbox? Everything is kept for 7 years. You cannot accidentally delete content subject to a longer policy.

Where to configure: Microsoft Purview Compliance Portal

All retention configuration happens in the Microsoft Purview compliance portal at compliance.microsoft.com. Navigate to: Data lifecycle management → Microsoft 365 → Retention policies.

You'll need the Compliance Administrator or Records Management role in Purview. The Exchange Administrator role is not sufficient — retention is a compliance function, not an Exchange admin function.

Step 1: Create the retention policy

Click New retention policy and work through the wizard:

Name and description

Use a descriptive name that captures what the policy does: Exchange-Retain-7yr-Then-Delete or Finance-Email-7y. You'll thank yourself later when you have 15 policies and need to audit them.

Policy type: Static vs Adaptive

  • Static — you select specific locations (all Exchange mailboxes, specific users, specific groups). Simpler to create and understand. Suitable for most organisations.
  • Adaptive — membership determined by an Entra ID query (e.g. "all users where Department equals Finance"). Automatically includes new users matching the criteria without you updating the policy. Requires Purview Premium (E5 Compliance).

For most organisations, start with Static.

Locations

Select Exchange mailboxes. You can then choose:

  • All — applies to every mailbox in the tenant (including shared mailboxes)
  • Included — pick specific mailboxes, distribution groups, or Microsoft 365 groups
  • Excluded — apply to all except specific mailboxes

Other available locations you can add to the same policy: SharePoint sites, OneDrive accounts, Teams channel messages, Teams chats, Viva Engage messages. A single policy can cover multiple locations.

Retention settings

This is the core of the policy. Configure:

  • Retain items for — the duration. Choose days, months, or years. For email: common periods are 3 years (general business), 7 years (financial records under UK HMRC guidance), 10 years (some regulated industries).
  • Start the retention period based onWhen items were created (for email, this is when the email was sent/received) or When items were last modified (rarely used for email). For most email retention, use "When items were created."
  • At the end of the retention period:
OptionWhat happensUse when
Delete items automaticallyItems are permanently deleted after the retention periodYou need automatic disposal (most compliance scenarios)
Trigger a disposition reviewReviewers are notified to manually approve deletionHigh-value records needing human sign-off before deletion
Do nothing (retain only)Items are kept but never automatically deletedYou only need a minimum keep — no max retention

Step 2: Test before enforcing (simulation mode)

After creating the policy, don't enable it immediately. Use the policy status toggle to leave it in monitoring mode first. In monitoring mode, the policy evaluates content and logs what it would have done — but makes no changes.

Review the results in Data lifecycle management → Disposition and the Compliance Manager activity explorer. Check for unexpected scope (are you capturing mailboxes you didn't intend to?) and estimate the volume of content affected.

⚠️
Once enabled, some policies can't be shortened: If you apply a Preservation Lock to a retention policy (for regulatory compliance), you cannot shorten or delete the policy until the retention period expires. Only enable Preservation Lock when legally required — it's a one-way action.

Step 3: Enable the policy

When you're satisfied, toggle the policy to On. Propagation to all mailboxes in a large tenant takes up to 7 days. The policy status shows "Pending" during propagation and "On" when fully applied. Don't assume it's active until the status shows On.

Retention labels vs retention policies: when to use each

Retention policies apply automatically based on location — all emails in all mailboxes, or all files on all SharePoint sites. They're blunt but powerful. Use them for tenant-wide baseline retention.

Retention labels are applied to individual items — either manually by users or automatically based on content. They're surgical. Use labels when you need item-level control: a specific contract that must be kept for 10 years, or emails with "board minutes" in the subject that need special handling.

Labels can also declare content as a record — preventing users from modifying or deleting the item during the retention period. This is the right tool for formal records management where you need an immutable audit trail.

Monitoring and troubleshooting

Check your policies regularly in the Purview portal. The Data lifecycle management → Overview dashboard shows policy health and any errors. Common issues:

  • Policy not applying to a mailbox — check the mailbox is within scope. Shared mailboxes without licences may need explicit inclusion.
  • Mailbox approaching storage limit despite retention — preserved copies in the Preservation Hold Library count toward mailbox size. Consider enabling the archive mailbox for users under heavy retention policies.
  • User complaining email is "gone" but was under retention — the email is in the Preservation Hold Library. Use eDiscovery to locate and retrieve it.
Related reading
Azure · Intermediate

Azure RBAC explained: roles, scopes, and least-privilege access design

Role-Based Access Control is how Azure decides who can do what to which resources. Getting it right is the difference between a secure, auditable cloud environment and one where every developer is accidentally a Subscription Owner. This guide explains how RBAC works and how to design a model that actually scales.

📅 April 2026 ⏱ 11 min read 👤 Queclouds 🏷 Intermediate

How RBAC works: the three-part model

Every RBAC decision in Azure comes down to three components combined into a single role assignment:

  • Security principal (who) — a user, security group, service principal, or managed identity. The identity performing the action.
  • Role definition (what) — a named collection of permissions. Defines which operations (Actions) are allowed and which are explicitly blocked (NotActions).
  • Scope (where) — the boundary within which the role applies. Can be a management group, subscription, resource group, or individual resource.

When a request hits Azure Resource Manager, it evaluates: does any role assignment for this principal (or any group they're a member of) at this scope (or any parent scope) grant permission for this action? If yes — allowed. If no — denied. RBAC is additive: permissions accumulate across all role assignments. There's no inheritance of denial except for explicit deny assignments (which are rare and only created by Azure itself for managed apps and blueprints).

Scope inheritance: the most important concept

Scope is hierarchical: Management Group → Subscription → Resource Group → Resource. A role assigned at a higher scope is automatically inherited by all child scopes.

Assign someone as Reader at the subscription level — they can read every resource group and every resource in that subscription. Assign them as Contributor at a specific resource group — they can create and manage resources only within that group. The subscription-level Reader assignment doesn't give them Contributor elsewhere.

📝
Key principle: Always assign roles at the lowest scope necessary. Never grant subscription-level Contributor when the person only needs to manage one resource group. The blast radius of a compromised account is directly proportional to the scope of its role assignments.

The four essential built-in roles

Azure has over 170 built-in roles, but four apply at every scope and cover the vast majority of use cases:

RoleReadCreate/modifyDeleteGrant accessUse for
OwnerPlatform engineers, subscription administrators
ContributorDevelopers, DevOps engineers managing a resource group
ReaderAuditors, monitoring teams, new joiners
User Access AdministratorTeams responsible for access management without resource management

The critical distinction: Owner can grant access, Contributor cannot. This matters enormously. A Contributor who can't assign roles cannot elevate their own privileges or give access to others. An Owner with a compromised account can hand Owner to an attacker.

Service-specific roles: always prefer them over Contributor

Using Contributor as a default is a common mistake. Azure provides service-specific roles that limit permissions to exactly what's needed. Using them reduces the blast radius of any compromised identity:

  • Storage Blob Data Contributor — read, write, delete blobs. Does not grant management plane access (can't configure firewall rules, regenerate keys, or change replication settings). Note: a Contributor can regenerate storage keys — which grants them full data access. A Storage Blob Data Contributor cannot.
  • Key Vault Secrets Officer — manage secrets. Cannot manage keys or certificates. Separate roles exist for each.
  • Virtual Machine Contributor — manage VMs but not the VNet, storage account, or Key Vault they depend on.
  • AcrPull — pull container images from Azure Container Registry. Assign to your AKS cluster's managed identity so it can pull images without any stored credentials.
  • Monitoring Reader — view monitoring data without being able to change anything.
  • SQL DB Contributor — manage SQL databases but not their security policies.

Managed identities: RBAC without credentials

One of the most important RBAC patterns is using managed identities for applications instead of service principals with stored secrets. A managed identity is an Entra ID identity automatically created for an Azure resource (a VM, an App Service, an Azure Function, etc.) and managed entirely by Azure.

The application never sees a client secret or certificate. It requests a token from the Instance Metadata Service (a local endpoint only accessible from within Azure) and uses that token to call Azure APIs. Azure rotates the underlying credentials automatically. There is nothing to leak, nothing to rotate manually, and nothing to accidentally check into a code repository.

The pattern: create a managed identity on your resource → assign it the minimum necessary RBAC role at the minimum necessary scope → done. Your application calls Azure APIs as that identity without any stored credentials.

System-assigned vs user-assigned: System-assigned managed identities are tied to the lifecycle of one resource — deleted when the resource is deleted. User-assigned managed identities are independent resources that can be assigned to multiple services. Use user-assigned when you want consistent RBAC across multiple resources (e.g. five App Services that all need the same storage access).

Groups over individuals: the only way to scale

Never assign roles to individual users if you can avoid it. Assign them to Entra ID security groups instead. When someone joins the team, add them to the group — they inherit all the group's role assignments immediately. When they leave, remove them from the group — access is revoked everywhere the group had assignments instantly.

This becomes especially important in large organisations where a developer might have access to 20 resource groups across 5 subscriptions. Managing that as individual role assignments means 20 changes when they leave. As a group member? One group removal, all access gone.

Custom roles: use sparingly

When no built-in role fits exactly, you can create a custom role. Define it as a JSON document specifying allowed actions, excluded actions, and assignable scopes:

{
  "Name": "VM Restart Operator",
  "Description": "Can view and restart VMs only",
  "Actions": [
    "Microsoft.Compute/virtualMachines/read",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Resources/subscriptions/resourceGroups/read"
  ],
  "NotActions": [],
  "AssignableScopes": [
    "/subscriptions/your-subscription-id"
  ]
}

Custom roles have a limit of 5,000 per Entra ID tenant. More importantly, they carry maintenance overhead — you must keep them updated when Azure adds new actions to services. Use built-in roles wherever possible. Create custom roles only for genuinely unique access patterns.

Designing a least-privilege model in practice

A practical framework for any new Azure environment:

  • Platform team (the people managing the Azure environment itself): Owner at the subscription or management group level, activated via PIM — not permanent.
  • Application teams (developers, DevOps): Contributor on their own resource group(s). Nothing at the subscription level.
  • Security/monitoring team: Reader + Monitoring Reader at the subscription level. Security Reader in Defender for Cloud.
  • Pipelines and automation (GitHub Actions, Azure DevOps): Contributor on specific resource groups, via managed identity or service principal — the minimum scope needed for deployment.
  • New team members: Reader everywhere. Escalate after their first week when it's clear what they need.

Review role assignments quarterly. Azure Advisor flags resources with excessive permissions. Use Entra ID Access Reviews to automate the review cycle — set it up once and get quarterly reminders to confirm who still needs what.

⚠️
The most common mistake: Making everyone Owner "to keep things simple." It eliminates all blast radius containment. One phished account, one accidental delete, one disgruntled contractor — and the environment is gone. RBAC's only job is limiting what can go wrong. Don't bypass it for convenience.
Related reading
M365 · IT Admin

Setting up Microsoft Teams governance: naming policies, expiry, and guest access

Without governance, a Microsoft Teams environment becomes unmanageable within months — hundreds of duplicated teams, abandoned projects, and teams with names like "New Team (2) - FINAL v3 USE THIS". This guide shows you how to put the right controls in place from the start, or get an existing environment back under control.

📅 April 2026 ⏱ 8 min read 👤 Queclouds 🏷 IT Admin

Why Teams governance matters

When Microsoft 365 is first deployed, creating a Team takes three clicks. That's intentional — Microsoft wants adoption. But every Team creates a Microsoft 365 Group, which creates a SharePoint site, a shared mailbox, a Planner board, and a OneNote notebook. Multiply that by 500 employees and two years of project work, and you have thousands of orphaned resources, no naming convention, and no idea what any of it is for.

Governance doesn't mean locking everything down. It means having answers to: Who is responsible for each Team? How long does it live? Who can invite external guests? What should it be called? Get those answers into policy before Teams sprawl becomes a support burden.

Controlling who can create Teams

By default, any licensed user can create a Microsoft 365 Group — and therefore a Team. To restrict this, you use an Entra ID setting that limits group creation to members of a specific security group.

How to configure it:

  1. Create a security group in Entra ID called something like SG-Teams-Creators
  2. Add the people who should be allowed to create Teams — team leads, project managers, department heads
  3. In Entra admin centre → Groups → General, set "Only users in the following group can create Microsoft 365 groups" and select your group
  4. Anyone not in that group who tries to create a Team sees: "You don't have permission to create a team."
⚠️
Don't make this too restrictive. If creating a Team requires a helpdesk ticket and a three-day approval, employees will use WhatsApp, personal email, or a shared Google Drive instead. A self-service request form that auto-approves after a quick business justification is usually the right balance — governance with friction, not governance as a wall.

Naming policies

Naming policies enforce consistent Team names across the tenant. Configure them in Entra admin centre → Groups → Naming policy. There are two mechanisms:

Prefix and suffix rules

Automatically prepend or append text to every new group name. You can use fixed strings or user attributes (Department, Country, Office). Examples:

  • GRP-[GroupName] — prefix all groups with GRP- to distinguish them from other objects in the directory
  • [GroupName]-[Department] — append the creator's department: "Marketing-Budget 2026"
  • [Country]-[GroupName] — prefix with country code for multinational orgs: "UK-Payroll Team"

The preview in the portal shows exactly how the name will appear. Prefixes and suffixes apply automatically — the user only types the middle part.

Blocked words

A list of words that cannot appear in group names. Case-insensitive. Use for: profanity, words that might reveal confidential projects before announcement (acquisition codenames, product launch names), or generic terms so vague they're useless (team, group, test).

ℹ️
Naming policy applies at creation and rename. Existing Teams are not renamed retroactively — the policy only applies when a new group is created or an existing one is renamed. If you have years of badly named Teams already, you'll need a separate cleanup exercise.

Expiration policies

Group expiration policies automatically soft-delete inactive Microsoft 365 Groups (and their Teams) after a defined period. This is one of the most effective ways to reduce sprawl over time — Teams that nobody renews are cleaned up automatically.

How it works:

  1. You set a lifetime in days (e.g. 180 days) in Entra admin centre → Groups → Expiration
  2. 30, 15, and 1 days before expiry, Microsoft emails the Team's owners asking them to renew
  3. Owners renew by clicking the link in the email, or by visiting the Team — any recent activity counts as a renewal signal
  4. If nobody renews, the group is soft-deleted: the Team disappears from Teams, but all data is preserved in a recoverable state for 30 days
  5. An admin can restore it from Entra admin centre → Groups → Deleted groups within those 30 days
Set this to 180 days for project Teams, 365 days for department Teams. You can scope expiration to specific groups rather than all groups — apply it to your project Teams group first, see how it goes, then expand. Teams created before the policy was applied get a grace period based on their creation date.

Guest access controls

Guest access allows external users (with their own Microsoft or work accounts) to be added to Teams. It's essential for collaboration with clients, partners, and contractors — but needs the right guardrails.

Tenant-level Teams guest settings

In Teams admin centre → Org-wide settings → Guest access, you control:

  • Whether guest access is on or off at all (it's on by default in most tenants)
  • What guests can do: make private calls, use Meet Now, share files, create/update/delete channels
  • What guests cannot do: create teams, access the Teams admin centre, add or delete apps

Entra ID B2B settings

In Entra admin centre → External Identities → External collaboration settings:

  • Guest invite settings — who in your org can invite guests: anyone, members only, or admins only
  • Collaboration restrictions — allowlist or blocklist specific domains. Block your competitors' domains. Allow only your approved partner domains.
  • Guest user access restrictions — limit what guests can see in your directory (can they enumerate other users? See group memberships?)

Access reviews for guests

The most important guest governance control that most organisations skip: Entra ID Access Reviews. Set up a quarterly review of all guest users in Teams. Reviewers (typically Team owners) confirm each guest still needs access. Guests not confirmed are automatically removed. Requires Entra ID P2.

Without access reviews, guests accumulate. A contractor who left 18 months ago still has access to your Teams channels because nobody remembered to remove them.

Teams policies for users

Beyond governance at the group level, Teams admin centre lets you create policies assigned to users or groups. Key policies to configure early:

  • Meeting policy — who can bypass the lobby (guests? Everyone?), whether recording is allowed, who can present. Recommended: require lobby for guests, allow recording for all users but store to OneDrive, restrict external participants from being presenters by default.
  • Messaging policy — whether users can delete their own messages, use Giphy, use priority notifications. In regulated industries, turn off message deletion for compliance.
  • App permission policy — which third-party apps (Trello, Asana, Salesforce tabs) users can add to Teams. Create a policy that allows only Microsoft apps and your approved list. Apply it as the org-wide default.
  • External access policy — whether users can communicate with people in other Microsoft 365 tenants via Teams federation. Separate from guest access — this is Teams-to-Teams chat without formally inviting someone as a guest.
Related reading
Azure · All levels

Azure Cost Management: how to set budgets, alerts, and spot waste early

Azure bills for exactly what you use — every VM hour, every GB stored, every GB egressed. Without visibility into where that spend goes, costs grow silently until someone in finance asks questions you can't answer. Here's how to get in front of it.

📅 April 2026 ⏱ 7 min read 👤 Queclouds 🏷 All levels

Finding Azure Cost Management

Azure Cost Management + Billing is built into the Azure portal at no extra charge. Search "Cost Management" in the portal search bar. You can access it at three scopes — each gives a different view of spending:

  • Billing account / invoice section — the widest view. Shows all spend across all subscriptions tied to your billing account.
  • Subscription — spending within one subscription. The most common starting point.
  • Resource group — spending for one application or project. Useful when teams own their resource groups.
  • Management group — aggregate view across multiple subscriptions. For platform teams managing a whole organisation's Azure estate.
ℹ️
Cost data is not real-time. Usage data typically has an 8–24 hour lag before appearing in Cost Management. Don't rely on it for same-day decisions. For near-real-time spend, use the billing API with streaming export.

Cost Analysis: understanding your spend breakdown

The Cost Analysis view (left menu within Cost Management) is where you spend most of your time. The default view shows spending for the current billing period as a bar chart by day.

The most useful view to start with: change the grouping to Service name. This immediately tells you whether your biggest cost is compute (Virtual Machines), storage, networking, databases, or something else. You can't fix what you can't see.

Once you know the dominant service, drill down. If compute is 70% of your bill, group by Resource to see which specific VMs are the most expensive. Click any bar in the chart to filter to that time period. Use the Add filter button to narrow to a specific resource group, location, or tag.

The tag view — the most powerful one

If your team has implemented resource tagging (Environment, CostCentre, Project, Owner), the tag view turns Cost Management into a proper cost allocation tool. You can show finance: "the Production environment cost £12,400 this month, Development cost £3,200, and the Q1-ERP-Project tag accounts for £4,800 of that." Without tags, all you have is a list of cryptic resource names.

If tags aren't in place yet, this is the moment to prioritise them. Use Azure Policy with the Append or Modify effect to enforce required tags on all new resources.

Setting budgets and alerts

Budgets let you define a spending limit and get notified when you're approaching or exceeding it. Navigate to Cost Management → Budgets → + Add.

Configure the budget:

  • Scope — subscription or resource group
  • Reset period — Monthly (most common), Quarterly, or Annual
  • Budget amount — your expected or target monthly spend. If you don't know this yet, look at last month's actual spend and add 10% as a starting point.
  • Expiration date — when the budget stops being evaluated. Set this far in the future for ongoing budgets.

Configure alert conditions — use all three:

  • 80% actual — early warning. You still have time to investigate and adjust.
  • 100% actual — budget hit. Spending has reached the limit for this period.
  • 110% forecast — the most valuable one. Azure projects you'll exceed budget based on current spend rate, before it actually happens. This gives you time to act.

For each alert, specify email recipients. You can also trigger an Action Group — which can send to Teams via webhook, run a Logic App, or even call an Azure Function to take automated remediation action (like scaling down a VM).

Set budgets at the resource group level, not just subscription. A subscription-level budget tells you the total is over. A resource group budget tells you which application is over. Both are useful — use both.

Spotting common waste patterns

Most unexpected Azure bills come from a handful of repeatable patterns. Know these and you'll catch 80% of waste before it compounds:

Stopped VMs still billing for compute

Shutting down a VM from within the operating system (Start → Shut down) does not stop Azure billing. The VM is "stopped" but not "deallocated" — the underlying hardware is still reserved for you. You must use the Stop button in the Azure portal, which shows "Stopped (deallocated)" to stop compute charges. The managed disk still costs money when deallocated, but the VM compute stops.

Orphaned disks and NICs

When a VM is deleted, its attached managed disks and network interfaces are not automatically deleted — they're detached and left behind. They accumulate silently and cost money indefinitely. In Cost Analysis, filter by resource type Microsoft.Compute/disks and look for disks with no associated VM. In the Azure portal, go to Disks and filter by "Unattached."

Dev/test VMs running 24/7

A D4s_v3 VM running continuously costs roughly £250/month. If your development team only uses it during working hours (8 hours/day, 5 days/week), that's about 24% utilisation — you're wasting £190/month per VM. Use auto-shutdown schedules (available under each VM's settings in the portal) to shut down dev VMs at 7pm and optionally start them at 8am.

Oversized VMs

Azure Advisor (free, built-in) analyses your VM CPU and memory utilisation over 7 days and flags VMs consistently below 5% CPU utilisation as candidates for downsizing. Navigate to Advisor → Cost and work through the recommendations. Each one shows an estimated annual saving. A D4s_v3 running at 3% CPU average should probably be a D2s_v3 — half the cost.

Unused public IPs and load balancers

Static public IP addresses cost around £3–5/month each. An Application Gateway with no backend pool still costs its hourly rate. An empty Standard Load Balancer with no rules still has a fixed monthly cost. Filter your resource list for these resource types and check for any that aren't attached to anything.

Azure Advisor: your free cost consultant

Azure Advisor monitors your configuration and surfaces personalised recommendations across five pillars: Cost, Reliability, Security, Operational Excellence, and Performance. For cost, it surfaces:

  • Underutilised VMs (right-size or shut down)
  • Unprovisioned ExpressRoute circuits
  • Idle virtual network gateways
  • Opportunities to buy Reserved Instances based on your usage patterns
  • SQL databases that could move to a cheaper tier

Advisor shows an estimated annual saving for each recommendation. Work through Cost recommendations monthly. High-confidence, high-savings ones take minutes to implement and can save thousands per year.

Reserved Instances: saving 40–72% on stable workloads

For resources you know you'll run for 1 or 3 years — production VMs, Azure SQL, App Service plans — Azure Reservations let you commit upfront and save significantly:

  • 1-year reservation — save approximately 30–40% vs pay-as-you-go
  • 3-year reservation — save approximately 55–72% vs pay-as-you-go

Reservations apply to your running resources automatically — you don't need to do anything to the resource itself, just buy the reservation for the right VM size and region. The discount is applied at billing time.

⚠️
Only reserve stable workloads. Reservations are non-refundable after the initial grace period (with limited exchange options). Don't reserve dev/test VMs or anything that might be resized. Spend a month reviewing your actual usage in Cost Analysis before committing. Buying the wrong reservation is worse than pay-as-you-go.
Related reading
M365 · IT Admin

PowerShell for Microsoft 365: the commands every admin needs to know

The Microsoft 365 admin centre is powerful, but it reaches its limits quickly when you need to manage hundreds of users, generate bulk reports, or automate repetitive tasks. PowerShell is where Microsoft 365 administration actually scales — and these are the commands that will save you hours every week.

📅 April 2026 ⏱ 14 min read 👤 Queclouds 🏷 IT Admin

Getting set up: the modules you need

Microsoft 365 PowerShell management is split across several modules. Install them once from an elevated PowerShell session (Run as Administrator):

# Microsoft Graph — the modern, unified API (replaces MSOnline and AzureAD modules)
Install-Module Microsoft.Graph -Scope CurrentUser -Force

# Exchange Online Management — for mailbox and mail flow administration
Install-Module ExchangeOnlineManagement -Scope CurrentUser -Force

# Microsoft Teams — for Teams administration
Install-Module MicrosoftTeams -Scope CurrentUser -Force

# SharePoint Online Management Shell
Install-Module Microsoft.Online.SharePoint.PowerShell -Scope CurrentUser -Force
ℹ️
Microsoft Graph is the future. The older MSOnline (MSOL) and AzureAD modules are deprecated and will be retired. All new scripts should use Microsoft.Graph. If you have existing scripts using Get-MsolUser or Get-AzureADUser, plan to migrate them to Get-MgUser.

Connecting to services

Each module has its own connection command. You need to connect before running any commands:

# Connect to Microsoft Graph
# The -Scopes parameter requests the permissions you need
Connect-MgGraph -Scopes "User.ReadWrite.All","Group.ReadWrite.All","Directory.ReadWrite.All"

# Connect to Exchange Online (prompts for MFA automatically)
Connect-ExchangeOnline -UserPrincipalName admin@yourdomain.com

# Connect to Microsoft Teams
Connect-MicrosoftTeams

# Connect to SharePoint Online (replace yourdomain with your tenant name)
Connect-SPOService -Url https://yourdomain-admin.sharepoint.com

When automating (no interactive sign-in), use a service principal with certificate authentication or a managed identity rather than storing credentials in scripts. For interactive admin sessions, MFA prompts are fine.

User management: the commands you'll use daily

# Get a single user — essential starting point
Get-MgUser -UserId "jane.smith@company.com"

# Get all users (including unlicensed)
Get-MgUser -All

# Get all LICENSED users only
Get-MgUser -Filter "assignedLicenses/`$count ne 0" `
           -ConsistencyLevel eventual -Count userCount -All

# Export all users to CSV — the most common admin report
Get-MgUser -All `
  -Select "DisplayName,UserPrincipalName,Department,JobTitle,AccountEnabled,Mail" |
  Export-Csv -Path "C:\Reports\AllUsers.csv" -NoTypeInformation

# Find users who haven't signed in recently (last 90 days)
$cutoff = (Get-Date).AddDays(-90).ToString("yyyy-MM-ddTHH:mm:ssZ")
Get-MgUser -Filter "signInActivity/lastSignInDateTime le $cutoff" `
           -Select "DisplayName,UserPrincipalName,signInActivity" `
           -ConsistencyLevel eventual -All

# Disable a user account (leaver process step 1)
Update-MgUser -UserId "jane.smith@company.com" -AccountEnabled $false

# Enable a user account
Update-MgUser -UserId "jane.smith@company.com" -AccountEnabled $true

# Update a user's department (useful for dynamic group triggers)
Update-MgUser -UserId "jane.smith@company.com" -Department "Finance"

# Bulk disable users from a CSV list
Import-Csv "C:\leavers.csv" | ForEach-Object {
    Update-MgUser -UserId $_.UserPrincipalName -AccountEnabled $false
    Write-Host "Disabled: $($_.UserPrincipalName)"
}

Group management

# Get all groups
Get-MgGroup -All

# Get members of a specific group
Get-MgGroupMember -GroupId "group-object-id-here" -All |
  ForEach-Object { Get-MgUser -UserId $_.Id } |
  Select-Object DisplayName, UserPrincipalName

# Add a user to a group
New-MgGroupMember -GroupId "group-object-id" `
                  -DirectoryObjectId "user-object-id"

# Remove a user from a group
Remove-MgGroupMemberByRef -GroupId "group-object-id" `
                           -DirectoryObjectId "user-object-id"

# Find groups a user is a member of
Get-MgUserMemberOf -UserId "jane.smith@company.com" |
  Where-Object { $_.AdditionalProperties["@odata.type"] -eq "#microsoft.graph.group" } |
  ForEach-Object { Get-MgGroup -GroupId $_.Id } |
  Select-Object DisplayName, GroupTypes

Exchange Online: the commands every M365 admin needs

# Get all mailboxes
Get-Mailbox -ResultSize Unlimited

# Get mailbox size for all users — run this before licence renewals
Get-Mailbox -ResultSize Unlimited |
  Get-MailboxStatistics |
  Select-Object DisplayName,
    @{N="SizeGB";E={[math]::Round($_.TotalItemSize.Value.ToBytes()/1GB,2)}},
    ItemCount |
  Sort-Object SizeGB -Descending |
  Export-Csv "C:\Reports\MailboxSizes.csv" -NoTypeInformation

# Check who has access to a shared mailbox
Get-MailboxPermission -Identity "helpdesk@company.com" |
  Where-Object { $_.IsInherited -eq $false -and $_.User -ne "NT AUTHORITY\SELF" }

# Add full access to a shared mailbox (with auto-mapping so it appears in Outlook)
Add-MailboxPermission -Identity "helpdesk@company.com" `
                      -User "jane.smith@company.com" `
                      -AccessRights FullAccess `
                      -AutoMapping $true

# Grant Send As permission on a shared mailbox
Add-RecipientPermission -Identity "helpdesk@company.com" `
                        -Trustee "jane.smith@company.com" `
                        -AccessRights SendAs

# Get all mail flow (transport) rules — useful for auditing
Get-TransportRule | Select-Object Name, State, Priority, Description |
  Format-Table -AutoSize

# Search for a specific message in message trace (last 48 hours)
Get-MessageTrace -SenderAddress "external@partner.com" `
                 -StartDate (Get-Date).AddHours(-48) `
                 -EndDate (Get-Date) |
  Select-Object Received, SenderAddress, RecipientAddress, Subject, Status

# Enable archive mailbox for a user
Enable-Mailbox -Identity "jane.smith@company.com" -Archive

# Enable Litigation Hold (preserves all mailbox content for legal)
Set-Mailbox -Identity "jane.smith@company.com" `
            -LitigationHoldEnabled $true `
            -LitigationHoldDuration 2555  # 7 years in days

Microsoft Teams administration

# Get all Teams in the tenant
Get-Team

# Get all Teams with guest users (useful for guest access audits)
Get-Team | ForEach-Object {
    $guests = Get-TeamUser -GroupId $_.GroupId |
              Where-Object { $_.Role -eq "Guest" }
    if ($guests.Count -gt 0) {
        [PSCustomObject]@{
            TeamName   = $_.DisplayName
            GuestCount = $guests.Count
            Guests     = ($guests.User -join "; ")
        }
    }
} | Export-Csv "C:\Reports\TeamsWithGuests.csv" -NoTypeInformation

# Get all Teams with no activity (no messages in 90 days) — identify stale Teams
# Note: Requires Teams activity report data from Graph
Get-Team | Where-Object { $_.Archived -eq $false } |
  Select-Object DisplayName, GroupId

# Create a new private Team with specific owners
$team = New-Team -DisplayName "Project Falcon" `
                 -Description "Q2 2026 product launch" `
                 -Visibility Private
Add-TeamUser -GroupId $team.GroupId -User "owner@company.com" -Role Owner

# Archive a stale Team (makes it read-only, preserves all data)
Set-TeamArchivedState -GroupId "team-group-id" -Archived $true

Licence management and reporting

# Get all licence SKUs and available counts
Get-MgSubscribedSku | Select-Object SkuPartNumber,
  @{N="Assigned";E={$_.ConsumedUnits}},
  @{N="Total";E={$_.PrepaidUnits.Enabled}},
  @{N="Available";E={$_.PrepaidUnits.Enabled - $_.ConsumedUnits}} |
  Sort-Object SkuPartNumber

# Find all unlicensed user accounts (potential cleanup targets)
Get-MgUser -Filter "assignedLicenses/`$count eq 0" `
           -ConsistencyLevel eventual -Count userCount -All |
  Select-Object DisplayName, UserPrincipalName, CreatedDateTime |
  Where-Object { $_.CreatedDateTime -lt (Get-Date).AddDays(-30) }

# Assign a licence to a user (get SkuId from Get-MgSubscribedSku)
Set-MgUserLicense -UserId "jane.smith@company.com" `
  -AddLicenses @{SkuId = "licence-sku-id-here"} `
  -RemoveLicenses @()

# Remove a licence from a user (leaver process)
Set-MgUserLicense -UserId "jane.smith@company.com" `
  -AddLicenses @() `
  -RemoveLicenses @("licence-sku-id-here")

Practical automation: the leaver process script

One of the most common admin automation needs — handling employee offboarding consistently every time:

# Leaver-Process.ps1
# Run when an employee leaves. Requires Exchange Online and Graph connections.

param([Parameter(Mandatory)][string]$UserUPN)

Write-Host "Processing leaver: $UserUPN" -ForegroundColor Yellow

# 1. Disable the Entra ID account
Update-MgUser -UserId $UserUPN -AccountEnabled $false
Write-Host "✓ Account disabled"

# 2. Revoke all active sessions (sign out everywhere)
Revoke-MgUserSignInSession -UserId $UserUPN
Write-Host "✓ Sessions revoked"

# 3. Reset password to something random (prevents any cached auth)
$newPwd = [System.Web.Security.Membership]::GeneratePassword(20, 5)
Update-MgUser -UserId $UserUPN -PasswordProfile @{
    Password = $newPwd
    ForceChangePasswordNextSignIn = $false
}
Write-Host "✓ Password reset"

# 4. Remove from all groups
$groups = Get-MgUserMemberOf -UserId $UserUPN -All
foreach ($g in $groups) {
    try {
        Remove-MgGroupMemberByRef -GroupId $g.Id -DirectoryObjectId `
          (Get-MgUser -UserId $UserUPN).Id
    } catch { }
}
Write-Host "✓ Removed from $($groups.Count) groups"

# 5. Convert mailbox to shared (preserves email, removes licence need)
Set-Mailbox -Identity $UserUPN -Type Shared
Write-Host "✓ Mailbox converted to shared"

# 6. Set out-of-office auto-reply
Set-MailboxAutoReplyConfiguration -Identity $UserUPN `
  -AutoReplyState Enabled `
  -InternalMessage "Jane has left the company. Please contact manager@company.com." `
  -ExternalMessage "Jane has left the company. Please contact manager@company.com."
Write-Host "✓ Out-of-office set"

Write-Host "Leaver process complete for $UserUPN" -ForegroundColor Green
Always test with -WhatIf first. Many Exchange cmdlets support -WhatIf which shows what would happen without making any changes. Before running bulk operations, pipe to Select-Object -First 5 to preview the first five results. One accidental bulk change to the wrong scope can ruin your morning.
Related reading