Episode Details
Back to Episodes
PowerShell Is Fun — Automating things with PowerShell in multiple areas with Harm Veenstra [MVP]
Season 2
Published 3 weeks, 3 days ago
Description
PowerShell has become one of the most important automation tools in the Microsoft ecosystem, and in this episode of the m365.fm podcast, Mirko Peters welcomes Microsoft MVP Harm Veenstra to discuss why automation is no longer optional for modern IT teams. Harm shares his journey from helpdesk technician to automation specialist and explains how PowerShell transformed the way he approaches Microsoft 365, Azure, Exchange, Teams, Intune, and enterprise administration.
WHY POWERSHELL BECAME ESSENTIAL FOR MODERN IT
During the conversation, Harm explains how PowerShell stopped being “just scripting” and became a creative problem-solving platform. Once IT professionals understand the logic behind PowerShell objects, properties, and automation workflows, repetitive manual tasks can be replaced with scalable and consistent processes. Harm highlights that automation is not only about saving time — it is about improving reliability, reducing human errors, and allowing IT teams to focus on more valuable work instead of endless click-ops. The episode also explores how PowerShell evolved alongside Microsoft technologies. From the early Exchange Server days to today’s Microsoft Graph integrations, automation is now deeply connected to nearly every Microsoft cloud service. Harm explains how Microsoft Graph APIs and PowerShell modules give administrators complete control across Microsoft 365 and Azure environments.
AUTOMATING MICROSOFT 365 AT SCALE
One of the biggest topics in the episode is large-scale automation inside enterprise environments. Harm shares practical examples from real consulting projects where PowerShell was used to automate user onboarding, Microsoft 365 migrations, permissions management, account provisioning, Google Workspace to Microsoft 365 transitions, Teams meeting migrations, and hybrid identity processes. The discussion highlights how repetitive tasks like creating users, assigning licenses, configuring devices, syncing identities, and managing permissions become far more efficient when automated correctly. Harm explains that the true value of automation appears when organizations need consistent results across hundreds or thousands of users and devices.
MICROSOFT GRAPH, APIs, AND MODERN AUTOMATION
Mirko and Harm spend significant time discussing Microsoft Graph and why it has become one of the most powerful platforms for automation in Microsoft 365. Harm explains how administrators can monitor Graph API calls, discover backend actions performed inside admin portals, and use PowerShell to fully automate workflows that previously required manual configuration. The episode also covers how vendors outside the Microsoft ecosystem increasingly provide PowerShell modules for their products, making PowerShell a universal automation language across cloud platforms, infrastructure services, and enterprise tools.
SECURITY, GOVERNANCE, AND SCRIPTING BEST PRACTICES
Security plays a major role throughout the conversation. Harm explains why storing credentials inside scripts is one of the biggest mistakes administrators can make and why secure authentication methods such as Azure Key Vault, certificates, and secret management modules should always be used instead. The discussion also touches on governance, monitoring, version control, and documentation. Harm explains how GitHub workflows, revision tracking, testing pipelines, and proper documentation help teams maintain stable and secure automation environments over time. He emphasizes that good documentation is critical because automation should remain understandable for colleagues and future administrators, not just the original script author.
AI, COPILOT, AND THE FUTURE OF AUTOMATION
The conversation naturally moves into AI and Copilot. Harm shares a balanced perspective on AI-generated code and explains why understanding the
WHY POWERSHELL BECAME ESSENTIAL FOR MODERN IT
During the conversation, Harm explains how PowerShell stopped being “just scripting” and became a creative problem-solving platform. Once IT professionals understand the logic behind PowerShell objects, properties, and automation workflows, repetitive manual tasks can be replaced with scalable and consistent processes. Harm highlights that automation is not only about saving time — it is about improving reliability, reducing human errors, and allowing IT teams to focus on more valuable work instead of endless click-ops. The episode also explores how PowerShell evolved alongside Microsoft technologies. From the early Exchange Server days to today’s Microsoft Graph integrations, automation is now deeply connected to nearly every Microsoft cloud service. Harm explains how Microsoft Graph APIs and PowerShell modules give administrators complete control across Microsoft 365 and Azure environments.
AUTOMATING MICROSOFT 365 AT SCALE
One of the biggest topics in the episode is large-scale automation inside enterprise environments. Harm shares practical examples from real consulting projects where PowerShell was used to automate user onboarding, Microsoft 365 migrations, permissions management, account provisioning, Google Workspace to Microsoft 365 transitions, Teams meeting migrations, and hybrid identity processes. The discussion highlights how repetitive tasks like creating users, assigning licenses, configuring devices, syncing identities, and managing permissions become far more efficient when automated correctly. Harm explains that the true value of automation appears when organizations need consistent results across hundreds or thousands of users and devices.
MICROSOFT GRAPH, APIs, AND MODERN AUTOMATION
Mirko and Harm spend significant time discussing Microsoft Graph and why it has become one of the most powerful platforms for automation in Microsoft 365. Harm explains how administrators can monitor Graph API calls, discover backend actions performed inside admin portals, and use PowerShell to fully automate workflows that previously required manual configuration. The episode also covers how vendors outside the Microsoft ecosystem increasingly provide PowerShell modules for their products, making PowerShell a universal automation language across cloud platforms, infrastructure services, and enterprise tools.
SECURITY, GOVERNANCE, AND SCRIPTING BEST PRACTICES
Security plays a major role throughout the conversation. Harm explains why storing credentials inside scripts is one of the biggest mistakes administrators can make and why secure authentication methods such as Azure Key Vault, certificates, and secret management modules should always be used instead. The discussion also touches on governance, monitoring, version control, and documentation. Harm explains how GitHub workflows, revision tracking, testing pipelines, and proper documentation help teams maintain stable and secure automation environments over time. He emphasizes that good documentation is critical because automation should remain understandable for colleagues and future administrators, not just the original script author.
AI, COPILOT, AND THE FUTURE OF AUTOMATION
The conversation naturally moves into AI and Copilot. Harm shares a balanced perspective on AI-generated code and explains why understanding the