Learning Resources

Used to keep track of useful learning resources as I discover them.


Project maintained by fadwen Hosted on GitHub Pages — Theme by mattgraham

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.

Visitors Badge LinkedIn BlueSky Blog Last Updated Resume

Table of Contents

🔧 PowerShell Resources

📚 PowerShell Books (🧠 Learning Path Aligned)

A curated reading path from beginner to advanced topics in PowerShell, with direct links and companion resources where applicable.

Experience Title & Link Summary
🟢 Beginner Learn PowerShell in a Month of Lunches Foundational resource. The early chapters may feel basic to those with experience, but it builds solid habits.
🟡 Intermediate Learn PowerShell Scripting in a Month of Lunches
Companion GitHub
Dives into functions, modules, and testing with Pester. Builds directly on the first book.
🟡 Intermediate Secrets of PowerShell Remoting
DevOps Collective Book Series
Explains real-world remoting patterns beyond the basics. Great for enterprise workflows.
🔴 Advanced Mastering PowerShell Scripting Automation and scripting at scale with strong community insights. Author: Chris Dent.
🟡 Intermediate Practical Automation with PowerShell
GitHub
Use PowerShell to solve day-to-day automation needs with real-world examples.
🟡 Intermediate PowerShell Automation and Scripting for Cybersecurity A security-focused deep dive into scripting with real adversary defense examples.
🟡 Intermediate - 🔴 Advanced Office 365 for IT Pros
Automation Companion
Continuously updated. The de facto source for Microsoft 365 administration, plus automation.

🔌 Browser Extensions

These tools streamline working with Microsoft 365, Graph API, and portal sprawl. All are free and extremely useful in both exploratory and automation scenarios.

💬 Discord Communities

A few active and supportive communities for learning, troubleshooting, and sharing knowledge with emphasis around PowerShell and Microsoft environments.

🛠️ Practical Hands-On PowerShell

Real-world environments are the best teachers. These hands-on resources simulate real tasks or introduce structured challenges.

Experience Resource Summary
🟢 Beginner Hack The Box Academy Offers training on Windows administration, PowerShell, and Active Directory. Free tier available. Performance may vary—laggy VMs were a downside in later sessions.
🟢 Beginner PSKoans Interactive PowerShell learning in the style of Koans (fill-in-the-blank tests). Great for reinforcing syntax and logic, though it’s no longer actively maintained.
🟡 Intermediate UnderTheWire Wargames PowerShell-based wargames using SSH. Requires clue-hunting and critical thinking to advance levels—ideal for skill sharpening without a walkthrough.

📹 Videos

🌐 Websites

🧩 VSCode

PowerShell ISE does not support version 7+ and is no longer receiving updates. Transition to Visual Studio Code (VSCode) as your primary PowerShell editor.

VSCode is the modern, supported platform for PowerShell development. Install it on any system still using ISE, especially jump boxes, and configure centralized policies with Intune and ADMX templates to restrict extensions and features to only what’s approved.

VSCode also supports Tunnels, a secure and flexible remote editing feature, just ensure proper security configurations are in place.

If you find VSCode too developer-oriented or you miss ISE’s simplicity—especially for building GUIs—PowerShell Studio from Sapien is a powerful alternative. It’s a solid option if your organization can justify the $550 license cost.

🧰 VSCode Extensions

🔧 More VSCode Goodies

💻 Working with PowerShell

Two PowerShell Versions
Windows PowerShell (powershell.exe) is built into the OS, while PowerShell 7+ (pwsh.exe) is cross-platform and must be installed separately. Most modern modules (post-2020) are designed for PowerShell 7.

Install PowerShell 7 and set it as your default environment before installing modules—it will simplify your experience and avoid compatibility headaches. For legacy modules that only work with Windows PowerShell, use the -UseWindowsPowerShell switch when importing them.

📦 Common PowerShell Modules

These modules are foundational to automation, Microsoft 365, and security-related tasks. Each includes installation tips and links where relevant.

Also note: as PowerShell 7 becomes the default, Install-Module is being phased out in favor of Install-PSResource. It’s worth getting familiar with the new syntax now.

🔷 Microsoft Core Modules

Module Purpose Notes
Az Azure resource management Use Install-Module -Name Az
ExchangeOnlineManagement Manage Exchange Online mailboxes, transport, and more Essential for M365 admins
Microsoft.Graph / Microsoft.Graph.Beta Graph API SDK access Beta includes newer features; SDK is evolving
EnhancedHTML2 Builds cleaner HTML reports Adds styling options to ConvertTo-HTML
Microsoft.Graph.Entra Simplified Entra ID (Azure AD) module More intuitive than Graph SDK, but still limited
Microsoft.Online.SharePoint.PowerShell SharePoint Online admin tasks Standard module for SPO scripting
MicrosoftTeams Manage Teams, policies, and users Some functions limited by permissions
Microsoft.PowerShell.ConsoleGuiTools Adds Out-ConsoleGridView Console-based interactive filtering
Microsoft.PowerShell.GraphicalTools Adds Out-GridView (GUI filtering) Windows-only, great for quick data views
PowerShellGet / PSResourceGet Module management Use Install-PSResource for PowerShell 7+

🏢 Vendor-Specific Modules

Module Purpose Notes
Lenovo.Client.Scripting Interact with Lenovo hardware Useful in enterprise environments

🌐 Third-Party Modules

⚠️ Always review before production use.

Module Purpose Notes
BurntToast Creates toast notifications in Windows Great for alerts and user feedback
Graph.EasyPIM CLI-based role activation via Graph Avoids manual steps in Entra PIM
ImportExcel Export structured Excel reports Adds charts, formatting, autosize, and more
Microsoft.Graph.PlusPlus Makes Graph SDK more PowerShell-like Useful if SDK syntax is clunky
Pansies Styled terminal output (colors, gradients) Cosmetic improvements for terminals
platyPS Markdown module documentation generator Useful for writing help files
psframework Logging and parameter management Highly structured and customizable

🧭 Graph Command Reference

Tool Purpose
Find-MgGraphCommand Discover Graph SDK cmdlets and their endpoints
Find-MgGraphPermission Identify required permissions for a Graph cmdlet
Invoke-MgGraphRequest Raw Graph requests when SDK cmdlets are missing

🌐 Microsoft 365

🎯 Interview Prep

Even with hands-on experience, it helps to prep for interviews to avoid stumbling through familiar topics.
I recommend reviewing this M365 interview question guide as a refresher.

🛠️ Useful Non-Portal Microsoft Tools

📝 Microsoft 365 Apps Configuration Tool

Instead of writing custom scripts or remediation tasks to manage Office configuration, use this tool to generate XML-based deployment configs. It supports GUI-driven policy selection and minimizes human error.

🔍 Microsoft Graph Explorer

Explore Microsoft Graph endpoints interactively—view required permissions, test queries, and examine API responses. A great way to learn the structure of Graph calls before scripting.

📊 Microsoft Remote Connectivity Analyzer

Helps troubleshoot Exchange, Teams, DNS, and mail flow issues. I often forget this tool exists and come up with manual workarounds—leaving it here as a reminder to use it first.

🔬 Test Lab Resources

🏗️ Lab Setup

📚 Guides

For when you set up the lab, now what?

🤖 MCPs (Model-Context-Protocol)

Listed under test lab resources since MCPs are proof-of-concept tools and not recommended for production without evaluation.
Model-Context-Protocol is an open standard introduced by Anthropic to help large language models (LLMs) interact more effectively with data sources using natural language.

MCPs shine in read operations and data analysis, allowing users to query environments like Entra or Active Directory without needing deep scripting or portal experience. However, performance on write operations is currently lacking—batch tasks like adding group members can be slow and inefficient.

📱 Available MCP Projects

📜 Certifications

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

🏢 PeopleCert (formerly Axelos)

Whether due to the PeopleCert acquisition or their own internal decisions, this organization represents some of the more frustrating trends in the certification space. They now require a paid subscription to maintain a digital badge and have introduced renewals on certifications without updating the material.

Despite these practices, PeopleCert holds a strong position in the industry through certifications like Agile, ITIL, PRINCE2, and PMP. For now, professionals largely have to work within their system.

📊 ITIL 4 Foundation

☁️ BetterCloud

BetterCloud is a SaaS management platform competing with tools like Microsoft Entra and Okta. It offers stronger integrations with Google Workspace and Slack than with Microsoft products.

The standout feature is their Flight School training portal, which provides free certification exam access and even sends out swag for completion.

⚙️ BetterCloud Certified Administrator

🔐 CompTIA

CompTIA offers vendor-neutral certifications that are well-respected across the IT industry. While slightly pricey for early-career professionals ($300–$400 per exam), they provide foundational knowledge and broad applicability.

Certifications are valid for three years and can be renewed by passing a higher-level CompTIA exam or qualifying vendor certifications (details here).

For study resources, Professor Messer is a top recommendation for the A+/Network+/Security+ trio. His content is always current, thorough, and free on YouTube.

💻 A+

🌐 Network+

🔒 Security+

🐧 Linux+

📘 Microsoft

Microsoft certifications are highly recognized and aligned to specific roles. While most require an annual renewal via a free online assessment, foundational exams are lifetime-valid.

Microsoft also offers Applied Skills, which are task-focused, scenario-based microcredentials. While not resume game-changers, they’re useful for internal mobility or skill validation.

🎓 -900 Series / Fundamentals

All other Microsoft certification exams cost $165 and are valid for one year, with free online renewal available via Microsoft Learn.

For a complete list of certifications and their prerequisites, see Become Microsoft Certified (PDF). Microsoft Learn is the recommended study platform—accurate, up-to-date, and accessible during the exams themselves.

They’ve also begun publishing official course videos to supplement learning.

🧪 Study & Practice Environments

Hands-on experience is increasingly difficult as services move to the cloud. You can spin up a temporary lab with the Azure Free Trial and activate trial licenses for services. Be cautious: a credit card is required, and it’s easy to exceed the $200 cap.

Also see the Lab Setup section for ideas on building your own practice tenant.


💻 MD-102 – Endpoint Administrator

🔑 SC-300 – Identity and Access Administrator

☁️ MS-102 – Microsoft 365 Administrator

🔧 AZ-104 – Azure Administrator

🏗️ AZ-305 – Azure Solutions Architect Expert

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

🖥️ Specialty: Azure Virtual Desktop

🔒 Okta

Okta certifications take a slightly different approach: you cannot go back to review or change answers during the exam. Questions are weighted individually, and you’re often asked to select the best answer—not just a correct one.

🗝️ Okta Certified Professional

🎓 Western Governors University (WGU)

WGU offers fully online, self-paced Bachelor’s and Master’s degrees in IT and related fields. You pay by term (6 months) and can complete as many courses as you’re able to within that block.

WGU degrees often include industry certification vouchers (CompTIA, Cisco, Microsoft, etc.), which can also count as course credit if you’ve already earned them. The flexibility and certification integration make WGU a cost-effective, accelerated option for motivated learners.

⚠️ Common Pitfall

Many start with WGU but stall due to life circumstances or poor planning. With the right prep, you can dramatically shorten your degree path and save money.

📋 Pre-WGU Prep

  1. Sophia.org
    • ~$300 for 4 months of unlimited, self-paced courses.
    • Many of these credits transfer to WGU.
    • Similar to CLEP/DANTES (for military learners) and requires no proctoring.
    • You can take two courses at a time.

    Check transfer eligibility here.

  2. WGU Academy
    • $99 for a 2-month block covering one course.
    • Provides structured entry into WGU and credits toward your degree.
    • The $99 is reimbursed upon official enrollment.
  3. Transferable Certifications
  4. Existing College Credit
    • If you already have an Associate’s degree or previous coursework, that may count too.

📅 Enrollment Timing

The lead time from starting your application to beginning your term is typically 45–60 days. Plan ahead to align prep work with your intended start date.

📝 Summary

With enough transfer credits (from Sophia, WGU Academy, prior learning, or certifications), you could enter WGU’s IT Bachelor’s program with just 60 credits remaining—making it feasible to graduate in one or two terms.