This page is used to keep track of resources used in my professional development, or things I have found afterward that I wish I had known.

PowerShell Resources

Books

Roughly in the order I would read them.

Browser Extensions

Every Microsoft product has its own portal and none of them link to each other. These help.

  • Centro 365

    • Puts every M365 admin portal in one menu. Saves a lot of time flipping through tabs and bookmarks trying to remember a URL.
  • Graph X-Ray

    • Shows you which Graph calls the portal makes behind the scenes, and translates them into PowerShell for your own scripts. The fastest way to automate something you have been doing by hand.
  • Postman Interceptor

    • For when you want to see or replay an API call that Graph X-Ray or browser dev tools did not catch. Worth knowing that Postman now has a VSCode extension with full functionality, so you do not need the separate desktop app.

Discords

  • PowerShell

    • A bunch of hard-hitting PowerShell nerds, from people involved with the actual PowerShell repo and dev team to those who work on parts of VSCode. Very friendly place — I have never been shamed for any of the pretty dumb questions I have put to them.
  • WinAdmins

    • Lots of MSP folks working across different stacks, plus active Microsoft MVPs and some actual Microsoft employees. Most of the server is awake during US East Coast business hours.

Practical Hands-On

Reading only gets you so far. These make you actually do the thing.

  • Hack The Box Academy

    • Training on Windows administration, PowerShell, and Active Directory, with a free tier. Fair warning on performance: fine on day one, laggy and unresponsive every visit after.
  • PSKoans

    • Fill-in-the-blank tests in the style of Koans, which is a great way to drill syntax and logic. It now lives under PowerShell.org and is being actively maintained again after years without updates.
  • UnderTheWire Wargames

    • Fun little SSH challenges where you have to hunt around the host for the password to the next level. Practical, and it makes you think critically about solving problems without being spoon-fed.

Websites

  • Deep Dives on MSLearn

    • One article per topic (hashtables, arrays, PSCustomObject, exceptions, switch and more), covering the edge cases and mistakes the reference docs skip. The original set came from Kevin Marquette’s PowerShellExplained.com.
  • Parts 1 and 2 of this series by Paul Winstanley

    • The series overall is about W365, but parts 1 and 2 are a great Graph primer: setting up VSCode, registering an app and picking permissions, connecting with it, and using Graph X-Ray to find commands.
  • Piet’s Pester Crash Course

    • Pester is the testing framework for PowerShell. If you use something like Maester for Entra auditing, the custom tests are written in Pester.
  • PowerShell Practice and Style

    • The community style guide and best practices, started by Don Jones, Matt Penny, Carlos Perez and Joel Bennett. It covers layout, naming, error handling and output, so your code reads like everyone else’s when someone else has to maintain it.
  • RegExLibrary

    • Not PowerShell-specific, but useful for regex examples. RegEx Tester will validate what you come up with.
  • Sample Code

    • Tobias Weltner’s collection of small, focused examples: validating input, reading installed software, converting SecureStrings, Wake-on-LAN. Useful when you need a working starting point for one specific task.

Videos

  • PowerShell Master Class - PowerShell Fundamentals

    • John Savill’s 13-part series, working up from fundamentals through the pipeline, remoting and scripting. It was recorded in 2019, before PowerShell 7 became the default, so some specifics are from the Windows PowerShell era. The concepts have held up fine.
  • PowerShell + DevOps Global Summits

    • Session recordings from PowerShell.org’s annual summit. Past the beginner material, this is where the deep dives live, often from people who work on PowerShell itself.
  • PowerShell Conferences EU

    • The European counterpart to the Summit, with the same idea: a conference’s worth of recorded talks, free to watch, and searchable by title for whatever you’re stuck on.
  • Getting Started with Graph

    • You can hit Graph from Invoke-RestMethod or any other language, but I think of PowerShell and Graph as inseparable at this point. If you are managing Microsoft 365 at all, you will end up relying on Graph, so you may as well learn how to start.

Working with PowerShell

There are two versions of PowerShell: Windows PowerShell (powershell.exe), which is baked into the OS, and PowerShell 7.x (pwsh.exe), which is cross-platform and has to be installed separately.

Install PowerShell 7 and make it your default everywhere before you start installing modules — it will save you a lot of grief. Most modules written after 2020 target 7. If you hit a legacy module that only works on Windows PowerShell 5.x, import it with the -UseWindowsPowerShell switch.

My PowerShell Modules

The ones I have published to the PowerShell Gallery. Each installs by name:

1
Install-PSResource -Name TestEnvironment

Commonly Used Modules

Not an exhaustive list, but these cover most of what I do and are the first things I install on a new workstation.

Worth noting: as PowerShell 7 becomes the default, Install-Module is being superseded by Install-PSResource. Get familiar with the new syntax now.

Microsoft Modules

  • Az
  • ExchangeOnlineManagement
  • EnhancedHTML2
    • Extends ConvertTo-HTML so your reports do not look like they came out of 1998.
  • Microsoft.Graph and Microsoft.Graph.Beta
    • This is an SDK, so expect PowerShell that does not feel much like PowerShell — using it, you are dev-lite. Install both; most of the functionality lives in the beta commands, which hit the /beta Graph endpoint. Eventually you will find that calling the endpoints directly gives you more than the module does.
    • If the SDK’s structure really bothers you, Microsoft.Graph.PlusPlus smooths it over.
  • Microsoft.Graph.Entra and Microsoft.Graph.Entra.Beta
    • Built for admins who were not used to the structure Graph expects, and meant as a direct replacement for the retired AzureAD module. It bridges the gap, but does not cover everything Graph can do.
  • Microsoft.Online.SharePoint.PowerShell
  • Microsoft.PowerShell.ConsoleGuiTools
    • Out-ConsoleGridView is great for picking through data without leaving the terminal.
  • Microsoft.PowerShell.GraphicalTools
    • Out-GridView is the GUI popout version of the same idea. Windows only.
  • MicrosoftTeams
  • PowerShellGet and Microsoft.PowerShell.PSResourceGet
    • PowerShellGet is only needed if you are on Windows PowerShell. PowerShell 7.4 and later ships with its successor, Microsoft.PowerShell.PSResourceGet, already installed.

Vendor-Specific Modules

Third-Party Modules

Always assess and evaluate before putting any of these into production.

  • BurntToast
    • Sends custom toast notifications in Windows, which is handy when a script needs to actually get a user’s attention.
  • Graph EasyPIM
    • Activating PIM roles from the CLI instead of clicking through Entra blades.
  • ImportExcel
    • Despite the name, I almost always use it for exporting. Working in a Google Workspace environment made me hate how Sheets handles CSVs so much that I became dependent on this to get properly formatted spreadsheets out. It also does a ton of real Excel work: autosizing columns, pivot tables, charts.
  • Microsoft.Graph.PlusPlus
    • Wraps the Microsoft.Graph SDK so it reads more like PowerShell.
  • Pansies
    • Styled terminal output — gradients, hyperlinks, HTML color names. Purely cosmetic, still nice.
  • platyPS
    • Great for building out documentation for modules you write, once you get used to the schema it wants.
  • psframework
    • A logging module I wish I had found years earlier. Saves an enormous amount of time, and I have found plenty of uses beyond logging — it makes some param handling much simpler.

Microsoft Graph Command Helpers

These are cmdlets rather than modules — they ship inside Microsoft.Graph.Authentication and are the three I reach for most when working out what a call needs.

  • Find-MgGraphCommand
    • Shows what permissions a cmdlet needs and which URI it is hitting.
  • Find-MgGraphPermission
    • Looks up the details of a permission a script or app has.
  • Invoke-MgGraphRequest
    • A cleaner Graph-specific alternative to Invoke-WebRequest or Invoke-RestMethod for when the endpoint does not have a cmdlet with all the options built out yet.

VSCode

PowerShell ISE does not support version 7+ and is not getting new features. Learn VSCode, install it anywhere you were using ISE (especially jump boxes), and set up an ADMX with Intune so only approved extensions and features are in play.

Tunnels are a great remoting feature as long as you secure them properly.

If VSCode feels too dev-y and you miss ISE — especially for building GUIs — PowerShell Studio from Sapien is a solid replacement, assuming you can get approval for the $550 license.

Extensions

  • PowerShell Extension Pack
    • Justin Grote’s bundle: the official PowerShell extension plus about thirty others, including the Pester test explorer, Remote SSH, YAML support, Git Graph, indent-rainbow and Error Lens, which puts PSScriptAnalyzer warnings at the end of the offending line as you type. One install gets a fresh machine to a sensible PowerShell setup, and you uninstall whatever you don’t use afterwards.
  • Excel Viewer
    • Opens CSV and XLSX files as a sortable, filterable grid inside VS Code. The quickest way to check what Export-Csv or ImportExcel wrote without switching to Excel.
  • Rainbow CSV
    • Colors each column of a CSV or TSV in a different shade while leaving it as plain text, so you see the real delimiters and quoting that a grid view hides. That is usually where an Import-Csv that comes back wrong has gone wrong. It can also align columns and run SQL-like queries over the file. Not part of the pack.
  • Markdown Preview Enhanced
    • A richer live preview than the built-in one, with Mermaid diagrams, a table of contents and export to HTML or PDF. Handy for READMEs and for module help, since platyPS writes its documentation as Markdown.

More VSCode Goodies

  • Copilot Commit Message Instructions
    • Copilot’s generated commit messages lack detail and consistency. The github.copilot.chat.commitMessageGeneration.instructions setting fixes that. It takes inline text or a file pointing at a Markdown file of rules. A starting point for settings.json:

      1
      2
      3
      4
      5
      
      "github.copilot.chat.commitMessageGeneration.instructions": [
        { "text": "Use Conventional Commits: type(scope): summary, where type is feat, fix, docs, refactor, test, chore or perf." },
        { "text": "Keep the summary under 72 characters, in the imperative mood, with no trailing period." },
        { "text": "Add a body when the change is not obvious from the diff: explain why, not what." }
      ]
      
  • AI PowerShell Standards
    • My PowerShell development standards, shipped as GitHub Copilot instructions and Claude Code rules, so AI-generated code follows the same conventions for style, security and Pester testing across every project. The background is in Transforming PowerShell Development with GitHub Copilot.
  • Oh My Posh
    • Themes for your terminal. Fonts have to be set separately through the Integrated Font Family setting, and $PROFILE for VSCode is a different file than your non-VSCode pwsh profile. Current favorites are night-owl and quick-term.
    • night-owl themed terminal
  • Viewing Default Settings in VS Code
  • VS Code Keybindings
    • Good-to-know keybindings. CTRL + H for find and replace alone makes things smoother.

Microsoft 365

Interview Prep

Even with hands-on experience it is worth a refresher so you do not fumble a topic you actually know. This M365 interview question guide is a good one to skim beforehand.

Useful Non-Portal Tools

  • Microsoft 365 Apps Configuration Tool

    • I often see people writing scripts or remediations to manage Office configuration when this tool should be used instead. Pick your policies in the GUI, get XML out, far less room for error.
  • Microsoft Graph Explorer

    • Useful for exploring Graph’s URI structure, the permissions a call needs, and what the responses actually look like before you write any code against it.
  • Microsoft Remote Connectivity Analyzer

    • The hub for testing Exchange, Teams, DNS, and mail flow issues. I constantly forget it exists and come up with some interesting workarounds instead, so it is here as a reminder to check it first.

Test Lab Resources

Lab Setup

  • Hydration Kit for Windows Server 2022

    • Builds a full on-prem mockup: AD, SCCM, SQL, and Windows clients.
  • Microsoft 365 Test Environment

    • Automates standing up an M365 lab tenant, which matters more now that Microsoft has stopped handing out dev tenants.
  • TestEnvironment

    • Every lab needs meaningful data to test on. This PowerShell module creates and tears down test data across multiple identity providers.
  • Cybersecurity Lab by Ben Heater

    • Proxmox as the hypervisor, Wazuh for SIEM, and a set of pentesting VMs.
  • Ludus

    • Another Debian/Proxmox turnkey option. Be warned that it completely takes over the host, so skip it if you need that machine for anything else.
  • Free Azure SQL Databases

    • Microsoft bumped the free tier to 10 databases at up to 32 GB each, which is plenty for development or test automation.

Guides

So you have set up the lab — now what?

  • Learn to Cloud
    • Vendor agnostic, so you can pick AWS, GCP, or Azure. Good foundations either way.
  • Bootcamps from A Guide to Cloud
    • Free videos on a range of Microsoft topics. Mostly Azure, but there is 365 and Sentinel material in there too.

MCPs (Model-Context-Protocol)

These are under test lab resources on purpose — they are proof-of-concept tools and not something to run in production without evaluating first. Model-Context-Protocol is an open standard for letting LLMs work with data sources through natural language. Anthropic created it and has since handed it to the Linux Foundation’s Agentic AI Foundation, so it is now vendor-neutral.

Where they shine is reads and analysis: you can ask questions of an Entra or AD environment without deep scripting or portal experience. Writes are another story — batch work like adding group members is slow and inefficient right now.

Available MCP Projects

  • Lokka

    • MCP for Entra/Azure by Merill Fernando. I wrote up my setup experience in this post. Excellent for querying Entra with natural language.
  • Koppla

    • MCP for on-prem Active Directory by Microsoft MVP Ruud. The built-in guardrails help, but I would still review everything carefully before it goes anywhere near production.
  • Official Azure MCP

    • Microsoft’s own implementation, with an in-depth blog post. It has moved from its original repo into microsoft/mcp, the catalog of all of Microsoft’s official MCP servers.
  • Microsoft MCP Server for Enterprise

    • Microsoft’s own take on what Lokka does: natural-language questions over your Entra tenant, translated into Graph calls. Read-only and still in preview, but it respects existing Graph permissions and needs no extra license.
  • Microsoft Learn MCP

    • Cloud-hosted, and gives your assistant live access to official Microsoft documentation instead of whatever it remembers from training. Handy for grounding answers in current Learn content. Generally available since November 2025, and free with no sign-in.
  • KQL Search

    • Cloud-hosted, by Ugur Koc. Keeps thousands of community KQL examples on hand so your assistant is not guessing at syntax or going off to index the web itself. That is a real productivity gain when you are writing your own queries for Log Analytics workbooks or Intune reports.
    • It never touches the tenant and never executes anything, it just returns examples. The queries you build off the back of them are the ones that actually hit your environment.
  • PSMCP

    • By MVP Doug Finke. You write PowerShell functions with descriptive comments and can then query them in natural language. Note that functions have to be declared global for the server to see them.

Certifications

Personal thoughts on industry certification usefulness, all opinions my own.

PeopleCert (formerly Axelos)

Whether it was the PeopleCert acquisition or their own doing, this company is everything bad about the certification industry. They make you pay a subscription to keep your digital badge current, and they introduced renewals on certs without adding any new material to justify them.

That said, they are firmly entrenched — Agile, ITIL, PRINCE2, PMP. For now we mostly have to suck it up and deal with their terms.

ITIL 4 Foundation

  • Establishes the service management framework most modern enterprises follow: change control, incident vs problem, and a pile of ITIL-specific vocabulary that comes down to rote memorization.
  • General purpose enough to add value whether you are technical, in sales, or in management.
  • Used to be a lifetime certification, now renews on a 3-year cycle despite no revisions to the material.

CompTIA

These are great because they are vendor agnostic. They are also a little pricey early in your career, in the $300–400 range per exam. They last three years unless you renew something “downstream”, and they stay current when you earn other vendors’ certifications — my Microsoft certs renew everything I hold.

There is no shortage of study material, but I cannot recommend Professor Messer enough for the CompTIA trifecta (A+/Network+/Security+). His YouTube playlists are updated to the current exam versions, comprehensive, and free.

A+

  • The industry standard starting point. It is a mile wide and an inch deep, there to introduce you to the basics of everything.
  • Takes two exams to pass — you are not A+ certified until you have passed both.
  • On its own it holds no real weight on a resume, but it will get you the interview for entry-level roles.

Network+

  • Wired and wireless networking fundamentals, with an emphasis on subnetting without a calculator like a monster.
  • Gives you networking familiarity well beyond what A+ covers.
  • If I had a do-over I would get the CCNA instead — it carries more weight and goes further, including IOS commands.

Security+

  • Covers network security, risk management, cryptography, and threat mitigation.
  • This is the one you will get the most resume mileage out of.
  • You do not need to be aiming at an InfoSec or pentest role to benefit — virtually anyone IT-adjacent will use these concepts.

Linux+

  • Honestly, I bought this voucher alongside the others to get the best discount out of my CompTIA Store subscription, then took it a week before it expired with zero prep and passed.
  • TLDR: it is surface-level Linux that anyone slightly familiar could pass. LPIC or Red Hat certs will get you more mileage.

Microsoft

Microsoft certs are well recognized and mapped to specific job roles. Most renew annually through a free online assessment; the fundamentals exams are lifetime-valid.

Every exam voucher outside the fundamentals track is $165, and the certification is good for a year with free self-paced renewal through your Microsoft account.

For the full map of certifications and their prerequisites, see Become Microsoft Certified, which links through to each exam and its Learn pages. Check the exam retirement list before you start studying. Microsoft retires exams with only a few months’ notice. Speaking of Learn — it is excellent study material, free, and you can access Learn pages during the exam, so getting familiar with how it is organized pays off twice. I would take Learn over the LinkedIn Learning videos on the same topics; of the few I have audited, several were out of date or outright wrong. They have also started publishing official course videos to go along with it.

There is also Applied Skills, free scenario-based credentials focused on a single task. I am not sure they carry weight on a resume, but they are useful for validating a specific skill if you are angling for an internal move.

-900 Series / Fundamentals

  • Lifetime-valid and very general — a high-level overview of what a given product or service area covers.
  • They will not validate skills, but they are good for dipping your feet in. I picture these as existing for recruiters and non-technical managers, or as a way to find out whether a subject interests you.
  • These used to be free through virtual training days, but that program has ended. Check the Certification Hub for current discounts.

Study and Practice Environments

Getting hands-on is harder as everything moves to the cloud and normal subscriptions stop being feasible for one person. You can stand up an Azure Free Trial and activate trial licenses for whatever you are testing. Be careful: you generally need a card on file, and it is easy to blow past the $200 cap if you are not watching.

See Lab Setup for building your own instead, keeping in mind some cloud features will start charging you once the trial dates pass.

Role-Based Certifications

The ones below are the paths I have taken or looked hardest at. Each maps to a job role rather than a product.

MD-102 – Endpoint Administrator

  • Formerly “Managing Modern Desktops.” This is the one if you manage Windows clients.
  • Covers Windows versions, Active Directory, Group Policy, SCCM, Intune, and Autopilot.
  • The modern successor to the old MCSA for desktop management.

SC-300 – Identity and Access Administrator

  • Microsoft Entra, user and group management, SSO, and app registrations.
  • The right fit if you work in IAM or own access control policy.

MS-102 – Microsoft 365 Administrator

  • Retiring 30 November 2026. Take it before then or not at all.
  • Expert-level. The certification also needs one active associate cert: MD-102, SC-300, MS-700 or SC-401.
  • Tenant setup, conditional access, Defender, Teams, and compliance through Purview.
  • The closest modern equivalent to the old MCSE.

AZ-104 – Azure Administrator

  • The core Azure admin cert: VMs, networking, storage, subscriptions, and identity.
  • Includes scripting and automation with PowerShell, ARM templates, and the Azure CLI.

AZ-305 – Azure Solutions Architect Expert

  • Builds on AZ-104, but shifts from how to why — planning solutions and justifying design choices.
  • Disaster recovery, cost optimization, hybrid environments, and secure architecture.

AZ-800 / AZ-801 – Windows Server Hybrid Administrator

  • Retired 30 September 2026, with no direct replacement. Left here for anyone who already holds it: it stays on your transcript, but it can no longer be earned or renewed.
  • Windows Server combined with cloud services, and it was the only Microsoft path that validated Windows Server administration skills at all.

Specialty: Azure Virtual Desktop

  • Microsoft’s VDI offering, the alternative to Citrix or VMware Horizon.
  • Worth it if you support remote work environments or virtual desktops.

Okta

Okta’s exams work a little differently: you cannot go back and review or change an answer. Questions are weighted individually, and you are often picking the best answer rather than the only correct one.

Okta Certified Professional

  • Intro-level, aimed at sales engineers, managers, or entry-level admins.
  • Covers Okta’s basic capabilities, navigating the UI, and core configuration.
  • I earned this while holding only basic Help Desk permissions, and passed the renewal two years later without studying.
  • It is worth more inside an Okta shop than it is in a hiring pipeline.

Western Governors University (WGU)

WGU is fully online and self-paced, offering Bachelor’s and Master’s degrees in IT and related fields. You pay by six-month term and finish as many courses as you can inside that block, which is what makes it cheap if you move fast.

Their degrees often bundle industry certification vouchers (CompTIA, Cisco, Microsoft), and certs you already hold can count as course credit.

Common Pitfall

Plenty of people start at WGU and stall out, usually from life circumstances or from not planning the front end. Prep work before you enroll can dramatically shorten the degree and cut what you pay.

Pre-WGU Prep

  1. Sophia.org

    • Around $300 for 4 months of unlimited self-paced courses, two at a time.
    • Similar to CLEP/DANTES (for military learners), with no proctoring.
    • Many of these credits transfer. Check transfer eligibility here.
  2. WGU Academy

    • $99 for a 2-month block covering one course.
    • Gives you a structured way in, and the credit counts toward your degree.
    • The $99 is reimbursed once you officially enroll.
  3. Transferable Certifications

  4. Existing College Credit

    • An Associate’s degree or prior coursework may count too.

Enrollment Timing

Expect 45–60 days from starting your application to the beginning of your term. Plan your prep work backward from the start date you actually want.

Summary

With enough transfer credit — Sophia, WGU Academy, prior coursework, certifications — you can walk into WGU’s IT Bachelor’s program with only 60 credits left, which puts graduating in one or two terms within reach.