Skip to content

fadwen/fadwen.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

  • Centro 365

    • Consolidates links to all Microsoft 365 admin portals in one place.
    • Huge time-saver compared to flipping through bookmarks or trying to remember portal URLs.
  • Graph X-Ray

    • Reveals which Graph API calls are made during portal interactions.
    • Translates actions into PowerShell or REST calls, making it easier to automate what you previously did manually.
  • Postman Interceptor

    • Captures and replays browser-based API calls that dev tools or Graph X-Ray might miss.
    • Tip: Postman functionality is now available via a VSCode extension, reducing the need for a separate desktop app.

💬 Discord Communities

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

  • PowerShell Discord

    • Home to PowerShell enthusiasts, contributors, and even members of the core development team.
    • Great place to ask questions no matter how basic. I’ve never been shamed for asking something obvious.
  • WinAdmins Discord

    • Focused on Windows system administration, with many members working in MSP environments.
    • Includes active Microsoft MVPs and employees. Most discussion happens during US East Coast business hours.

🛠️ 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

  • Copilot Commit Instructions
    • If you've used the github copilot generation for commits there is a lack of detail and consistency. Editing your settings.json with this solves for that.
  • Oh My Posh
    • Different themes for your terminal. VS Code font types has to be setup through the Integrated Font Family settings. $PROFILE for VSCode is separate from your non-vscode pwsh. 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. Example: CTRL + H for find and replace makes things smoother.

💻 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

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.

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.

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?

  • Learn to Cloud
    • This is vendor agnostic, letting you choose between learning AWS, GCP, and Azure, and contains great foundations.
  • Bootcamps from a guide to cloud
    • Some great free videos on various Microsoft things, the bulk is on Azure but you can find 365 and Sentinel as well in there.
  • This course at robopack is completely free and contains a great how-to for those new to Intune. Just ignore the robopack videos as that's a separate product 😄

🤖 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

  • Lokka

    • Cloud-hosted MCP server for Microsoft Entra (Azure AD) environments, developed by Merill Fernando.
    • Enables natural language querying of Entra tenant data (users, groups, roles, devices) via the Model Context Protocol.
    • Integrates with AI assistants and IDEs for real-time, context-aware access to Entra directory information.
    • Open source, with a focus on read operations and rapid prototyping for Entra data analysis.
  • Koppla

    • MCP server for on-premises Active Directory, created by Microsoft MVP Ruud.
    • Allows AI assistants and compatible clients to query Active Directory objects (users, groups, computers) using natural language.
    • Implements guardrails and access controls to help prevent accidental modification of directory data.
    • Designed for safe experimentation and proof-of-concept use in lab or test environments.
  • Official Azure MCP

    • Microsoft’s reference implementation of the Model Context Protocol for Azure.
    • Provides a standardized MCP server for accessing Azure resource data and metadata via AI assistants and IDEs.
    • Supports semantic search and retrieval of Azure resource information, with extensibility for custom data sources.
    • Includes documentation, deployment instructions, and a sample client for integration and testing.
  • Microsoft Learn MCP

    • Cloud-hosted MCP server providing AI assistants and IDEs with real-time access to official Microsoft documentation (Microsoft Learn, Azure, Microsoft 365, and more).
    • Enables semantic search and retrieval of up-to-date, authoritative Microsoft docs content via the Model Context Protocol.
    • Designed for integration with tools like GitHub Copilot, Cursor, and Claude Desktop.
    • Returns high-quality, contextually relevant documentation chunks for grounding AI responses.
    • Public Preview; implementation and endpoints may change before GA.
  • PSMCP

    • Open-source MCP server for PowerShell, created by MVP Doug Finke.
    • Lets you define PowerShell functions with descriptive comments, then query them using natural language through the Model Context Protocol.
    • Supports dynamic discovery and invocation of global PowerShell functions from AI assistants and compatible clients.
    • Ideal for rapid prototyping, automation, and extending PowerShell environments with natural language interfaces.
    • Note: Functions must be declared global to be accessible by the MCP server.

📜 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.

  • Introduces service management concepts such as change control, incident vs problem handling, and ITIL-specific terminology.
  • Valuable for individuals in technical, sales, or managerial roles due to its broad, foundational nature.
  • Previously a lifetime certification, now on a 3-year renewal cycle—despite no changes to the core content.

☁️ 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.

  • Validates product knowledge around integrations with HRIS and IDPs, DLP configuration, and overall administration.
  • The guided webinar prepares you directly for the exam; if you've ever used the admin portal, passing should be straightforward.
  • While useful internally for teams using BetterCloud, the certification lacks visibility—recruiters rarely mention it, and it's uncommon to meet others certified.

🔐 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+

  • Entry-level certification covering a wide range of IT topics—hardware, software, troubleshooting, and more.
  • Requires passing two exams.
  • Helpful for landing interviews, but rarely carries weight on its own beyond entry-level roles.
  • Focuses on networking fundamentals, including wired/wireless networks, protocols, and subnetting (without a calculator).
  • Builds on A+ and is useful for infrastructure roles.
  • In hindsight, the CCNA may be a better investment due to broader recognition and deeper content.
  • Covers network security, risk management, cryptography, and threat mitigation.
  • Highly valuable and widely recognized; one of the most resume-friendly CompTIA certs.
  • Relevant even for non-security professionals in IT-adjacent roles.

🐧 Linux+

  • Offers basic exposure to Linux commands and systems.
  • Can be passed with minimal prep if you have prior Linux experience.
  • For deeper or more widely respected credentials, consider LPIC or Red Hat certifications.

📘 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.

  • Entry-level, lifetime-valid exams covering high-level overviews of Microsoft products and services.
  • Great for recruiters, managers, or individuals exploring new technology areas.
  • These used to be free via training days, but that program has ended. For discounts, check the Certification Hub.

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.


  • Formerly “Managing Modern Desktops,” this certification is ideal for those managing Windows clients.
  • Covers Windows versions, Active Directory, Group Policy, SCCM, Intune, and Autopilot.
  • The modern successor to the legacy MCSA for desktop management.
  • Focuses on Microsoft Entra (Azure AD), user/group management, SSO, and app registrations.
  • Ideal for professionals working with IAM and access control policies.
  • Expert-level certification requiring MD-102 and SC-300.
  • Emphasizes tenant setup, conditional access, Defender, Teams, and compliance via Microsoft Purview.
  • Closest modern equivalent to the legacy MCSE.
  • Core Azure admin cert covering virtual machines, networking, storage, subscriptions, and identity.
  • Includes scripting and automation with PowerShell, ARM templates, and Azure CLI.
  • Builds on AZ-104 but focuses on solution planning, design choices, and justification.
  • Covers topics like disaster recovery, cost optimization, hybrid environments, and secure architecture.
  • Covers hybrid environments that combine Windows Server with cloud services.
  • Currently the only Microsoft certification path for validating Windows Server administration skills.
  • Focuses on Microsoft’s VDI solution—an alternative to Citrix or VMware Horizon.
  • Ideal for admins supporting remote work environments or virtual desktops.

🔒 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.

  • Intro-level certification for sales engineers, managers, or entry-level admins.
  • Demonstrates knowledge of Okta’s basic capabilities, UI navigation, and core configurations.
  • I earned this while having only basic Help Desk permissions and passed a renewal two years later without studying.
  • Adds more value internally at Okta-using companies than in the job market—it’s rarely recognized in hiring pipelines.

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.

About

A collection of resources to aid in professional development

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •