Skip to main content
Graduate Track

Practising Microsoft 365 Administration Safely with Microsoft 365

Master safe Microsoft 365 administration. Learn first principles, dependencies, and practical steps for licence management, validation, and recovery in a controlled

Practising Microsoft 365 Administration Safely with Microsoft 365
Sarah LiangSarah Liang10 min readIntermediate10 min

In this lesson

Share

Before you begin

  • Access to an isolated or non-production Microsoft 365 validation environment.
  • Familiarity with basic cloud computing concepts.
  • Ability to confirm product versions and permissions before applying any changes.

Track this tutorial

Choose your current status and tick each safety check as you complete it. Sign in to sync progress between devices.

Current status

Before you apply the change

Confirm these production-safety controls during the tutorial.

0 of 6 safety checks completed

Microsoft 365

offers a comprehensive suite of cloud productivity services, widely adopted in enterprise environments. Effective administration of this platform requires a deep understanding of its underlying components, dependencies, and trust boundaries to ensure operational stability and security. This guide focuses on developing a robust mental model for Microsoft 365 administration, enabling practitioners to design, validate, and safely recover administrative workflows.

By exploring the cause-and-effect relationships within Microsoft 365, this guide equips graduate and early-career technology practitioners with the knowledge to perform administrative tasks with confidence. It moves beyond simple command execution, emphasising the critical importance of explicit evidence, observable success criteria, and a clear understanding of potential failure modes and recovery paths. This foundational approach ensures that learned skills are not only effective in isolated environments but also transferable and safe for production use.

#Learning Objectives

  • Understand the first-principles mental model and terminology for Microsoft 365 administration.
  • Identify key Microsoft 365 components, their dependencies, trust boundaries, and cause-and-effect relationships.
  • Design and implement a bounded Microsoft 365 administration workflow.
  • Validate the success of administrative actions using explicit evidence and observable criteria.
  • Diagnose common mistakes and implement effective recovery strategies for failed workflows.
  • Understand the implications of administrative actions on production safety, permissions, and security.

#Prerequisites

  • Access to an isolated or non-production Microsoft 365 validation environment.
  • Familiarity with basic cloud computing concepts.
  • Ability to confirm product versions and permissions before applying any changes.
  • Basic understanding of PowerShell for Microsoft 365 administration.

#Content

#
Microsoft 365 Administration: A First-Principles Mental Model

Administering Microsoft 365 involves managing a complex ecosystem of services, including Exchange Online

, SharePoint Online, Teams, and Microsoft Entra ID (formerly Azure Active Directory). A first-principles mental model dictates that every administrative action should be understood in terms of its inputs, the system’s state changes, and its observable outputs. This approach helps in predicting outcomes, diagnosing issues, and ensuring that changes align with organisational policies and security requirements.

Key terminology includes tenants (the dedicated instance of Microsoft 365 services for an organisation), users and groups (identities and collections of identities managed by Microsoft Entra ID), licences (which grant access to specific services and features), and roles (which define administrative permissions). Understanding how these elements interact is crucial. For instance, assigning a licence to a user enables access to services, while assigning an administrative role grants permissions to manage those services.

Dynamic 3D render of abstract geometric data paths with colorful blocks representing data flow.
Photo by Google DeepMind on Pexels

#
Components, Dependencies, and Trust Boundaries

Microsoft 365 services are deeply interconnected. For example, user identities managed in Microsoft Entra ID are fundamental to accessing Exchange Online mailboxes, SharePoint Online sites, and Teams functionalities. A change in a user’s status in Microsoft Entra ID (e.g., disabling an account) will propagate across dependent services.

Trust boundaries define the perimeters within which certain actions are authorised. For instance, administrative roles are scoped to specific services or the entire tenant. Understanding these boundaries helps in applying the principle of least privilege, ensuring that administrators only have the necessary permissions for their tasks. Dependencies mean that an issue in one service, such as Microsoft Entra ID, can have cascading effects on other Microsoft 365 services, making a holistic view essential for troubleshooting.

#
Designing a Bounded Workflow: User Licence Assignment

Let us consider a common administrative task: assigning a Microsoft 365 licence to a new user. This workflow is bounded because it has a clear start (new user creation or identification) and end (licence assigned, services provisioned, and validated). The goal is to ensure the user gains access to the required services without unintended side effects.

The steps typically involve: 1. Identifying the user. 2. Checking available licences. 3. Assigning the licence. 4. Verifying service access. Each step has specific evidence points and potential failure modes. For example, insufficient available licences would be a clear failure point, requiring a different action such as purchasing more licences or reassigning existing ones.

#
Production Safety and Permissions

In a production environment, administrative actions carry significant risk. Incorrectly applied changes can disrupt services for many users. Therefore, understanding the permissions required for each task and adhering to the principle of least privilege is paramount. Microsoft 365 offers granular role-based access control (RBAC) to manage permissions. Always verify the minimum required permissions before executing a command. For instance, assigning licences typically requires the ‘Licence Administrator’ or ‘User Administrator’ role, not a global administrator role.

Transferring learned skills from a lab to production involves not just knowing how to perform a task, but also when and with what authority. This includes understanding change management processes, seeking appropriate approvals, and documenting actions for auditability and future reference.

Figure 1: Interconnected cloud services illustrating the dependencies within Microsoft 365.

#Examples

#
Worked Example: Assigning a Microsoft 365 E3 Licence to a New User

This example demonstrates the process of assigning a Microsoft 365 E3 licence to a newly created user, ‘Jane Doe’, using PowerShell. We will assume the user ‘Jane Doe’ with User Principal Name (UPN) jane.doe@yourtenant.onmicrosoft.com has already been created in Microsoft Entra ID.

Objective: Assign a Microsoft 365 E3 licence to Jane Doe.

Prerequisites:

  • Connected to Microsoft Graph PowerShell SDK or Azure AD PowerShell module.
  • Sufficient permissions (e.g., Licence Administrator role).
  • Available Microsoft 365 E3 licences.

Step 1: Connect to Microsoft Graph PowerShell

First, establish a connection to Microsoft Graph PowerShell with the necessary scopes.

Connect-MgGraph -Scopes "User.ReadWrite.All", "Directory.ReadWrite.All"

Step 2: Get the User Object and Available SKU

Retrieve the user object for Jane Doe and identify the appropriate licence SKU (Stock Keeping Unit) for Microsoft 365 E3. The SKU ID is unique to your tenant and the specific licence.

1$user = Get-MgUser -UserId "jane.doe@yourtenant.onmicrosoft.com"
2$sku = Get-MgSubscribedSku | Where-Object {$_.SkuPartNumber -eq "ENTERPRISEPACK"}
3
4# Verify the SKU ID
5Write-Host "SKU ID for Microsoft 365 E3: $($sku.SkuId)"

Step 3: Assign the Licence

Assign the identified SKU to the user. This command initiates the provisioning of services associated with the E3 licence.

Set-MgUserLicense -UserId $user.Id -AddLicenses @{SkuId = $sku.SkuId} -RemoveLicenses @()

Step 4: Verify Licence Assignment

After assignment, verify that the licence has been successfully applied and that the user has access to the expected services. This may take a few minutes for changes to propagate.

Get-MgUserLicenseDetail -UserId $user.Id | Select-Object SkuPartNumber, ServicePlans

Interpretation: The output of the last command should show SkuPartNumber : ENTERPRISEPACK and a list of ServicePlans indicating services like Exchange, SharePoint, and Teams are enabled. If the SKU is not listed or service plans are disabled, further investigation is required.

High angle view of a businessman working at a desk with a laptop, tablet, and documents.
Photo by RDNE Stock project on Pexels

#Exercises

#
Exercise: Revoking a Microsoft 365 Licence and Verifying Service Deprovisioning

This exercise guides you through revoking a Microsoft 365 licence from a test user and verifying that the associated services are deprovisioned. This is a critical skill for managing user lifecycles and licence costs.

Objective: Revoke a Microsoft 365 E3 licence from a test user and confirm service deprovisioning.

Setup:

  • A test user (e.g., ‘Test User’) with a Microsoft 365 E3 licence assigned in your isolated or non-production environment.
  • Connected to Microsoft Graph PowerShell SDK with appropriate permissions.

Steps:

  1. Identify the Test User and Current Licences:
    1$testUser = Get-MgUser -UserId "test.user@yourtenant.onmicrosoft.com"
    2Get-MgUserLicenseDetail -UserId $testUser.Id | Select-Object SkuPartNumber, ServicePlans

    Expected Evidence: The output should clearly show the ENTERPRISEPACK SKU and associated service plans.

  2. Revoke the Licence:
    Set-MgUserLicense -UserId $testUser.Id -AddLicenses @() -RemoveLicenses @{SkuId = (Get-MgSubscribedSku | Where-Object {$_.SkuPartNumber -eq "ENTERPRISEPACK"}).SkuId}

    Expected Evidence: No immediate output, but the command should complete without errors.

  3. Verify Licence Removal and Service Deprovisioning:
    Get-MgUserLicenseDetail -UserId $testUser.Id | Select-Object SkuPartNumber, ServicePlans

    Expected Evidence: The output should no longer list the ENTERPRISEPACK SKU. Depending on propagation time, service plans might still appear briefly but should eventually show as disabled or removed. You can also attempt to access a service like Exchange Online or SharePoint Online as the test user to confirm access is denied.

Pass Condition: The Get-MgUserLicenseDetail command for the test user no longer shows the Microsoft 365 E3 SKU, and attempts to access associated services (e.g., Exchange Online mailbox) as the test user are denied.

Stop Condition: If the licence is not removed after 30 minutes, or if the test user can still access services, stop and investigate.

Cleanup: If the exercise fails and the licence remains, re-run the revocation command. If the user was created solely for this exercise, consider deleting the user after successful deprovisioning.

Figure 2: An administrator managing cloud services, representing the active role in Microsoft 365 administration.

#Validation Guidance

Validation is crucial for confirming that administrative actions have achieved their intended outcome and have not introduced unintended side effects. For licence assignments and revocations, validation involves:

  1. Direct PowerShell Query: As demonstrated in the examples, using Get-MgUserLicenseDetail is the primary method to confirm licence status.
  2. Microsoft 365 Admin Centre: Navigate to the user’s profile in the Microsoft 365 Admin Centre (admin.microsoft.com) and check the ‘Licences and apps’ tab. This provides a graphical confirmation.
  3. Service Access Test: The most definitive validation is to attempt to access a core service (e.g., Outlook Web App for Exchange Online, SharePoint site) as the affected user. Successful access confirms provisioning, while denied access confirms deprovisioning.
  4. Audit Logs: For production environments, review the Microsoft 365 audit logs for entries related to licence changes. This provides an immutable record of the action and its initiator.

#Common Mistakes

  • Incorrect SKU ID: Using the wrong SKU ID for a licence can lead to assignment failures or incorrect service provisioning. Always verify the SKU ID using Get-MgSubscribedSku.
  • Insufficient Permissions: Attempting to assign or revoke licences without the necessary administrative roles will result in access denied errors.
  • Propagation Delays: Changes in Microsoft 365, especially licence assignments and service provisioning, can take time to propagate across all services. Impatience can lead to premature re-attempts or incorrect diagnosis.
  • Not Verifying Service Deprovisioning: Simply removing a licence does not always immediately deprovision all associated data or access. Thorough validation, including service access tests, is essential.
  • Operating in Production Without Testing: Directly applying changes in a production environment without prior testing in an isolated environment is a high-risk practice.

#Key Takeaways

  • Microsoft 365 administration requires a first-principles understanding of components, dependencies, and trust boundaries.
  • Every administrative action should be accompanied by explicit validation steps to confirm success and identify failures.
  • The principle of least privilege is fundamental for production safety, ensuring administrators have only the necessary permissions.
  • Propagation delays are a common factor in cloud environments and must be accounted for during validation.
  • Thorough testing in isolated environments is essential before implementing changes in production.

When managing Microsoft 365, always prioritise understanding the ‘why’ behind each action, not just the ‘how’. Before making any changes, confirm the current state, the desired state, and the expected evidence of transition. In the event of an unexpected outcome, consult Microsoft’s official documentation and support resources. For critical production changes, ensure a clear rollback plan is in place, defining the exact steps to revert the system to a known good state and the conditions under which a rollback should be initiated. This includes identifying the boundaries of the change and any potential data loss implications. Always document your actions and observations for future reference and auditing purposes.

Sarah Liang

Sarah Liang

Graduate Track editor

Sarah covers resilient cloud architecture, modern workspace platforms and proactive experience automation.

Published
View Profile
Reader Interaction

Comments

Add a thoughtful note on Practising Microsoft 365 Administration Safely with Microsoft 365. Comments are checked for spam and held for moderation before appearing.

Loading comments...

Discover more

Learn More About KBY

Was this useful?

Build practical engineering skills.

Receive new lessons, learning paths, practical exercises and early-career guidance.