
I've started writing scripts back in Windows XP times when I was working in a computer shop and wanted to optimise our imaging process by running a post deployment script to install a bundle of applications we were offering for each OS reload. From that time on, I've used Batch, and VB scripts for automation until I learned PowerShell and never left it. With a strong sysadmin background, scripting and particularly PowerShell allowed me to improve and learn so much.
This new series on the Graph API will take advantage of PowerShell and deep dive in multiple features available in Entra, Defender XDR or Intune. I will try to simplify the approach of using the API instead of the portals and document/transcribe those features into PowerShell. Some of the available APIs may not be that straight forward at first sight and can be time consuming to figure how they work. I hope with this series to help anyone managing M365 and help adopting PowerShell and the Graph API.
In this first blog we will look at 10 reasons to learn PowerShell in 2025 and what you could gain by doing so.
Let's get started
10 reasons to learn PowerShell in 2025
1- Scaling
Automation and scripting in general allow you to manage environments of any size: small or large it won't be a problem. PowerShell is a native way to administrate Windows and since PowerShell 6 is available for Linux as well. This is very powerful capability for those DevOps pipeline or VMs that run your automation tasks in a spec-wise less demanding workload.
2- Versatility
PowerShell is a multipurpose language and most vendors will have a module, snap in, or scripts to use to start automate your recurrent tasks and expand to your own use case. Using PowerShell will allow you to learn and deep dive into many different technologies from on-prem, cloud, Microsoft or 3rd party vendors. By mastering PowerShell you will be a versatile engineer ready to work in different environments and industries.
3- Customisation
Using PowerShell will allow you to bypass UI and UX limitations. When you start using PowerShell, you will be able to complete your daily task the way you want them to work and expand the built-in capabilities like create your own tools and reports. You will be able reuse and customise community tools as well so they can fit your own needs.
Basically freedom
4- Upskilling
The more you do the more you learn. Writing your own scripts will allow you to deep dive in a feature. Because you try to complete a task your own way, you will learn in that process a ton of passive and active skills that will be reusable in the future. All these documentations or blog posts you reviewed during the process will greatly benefit you.
5- Fun
PowerShell is just fun, it's basically playing with the tech. You will find so many project in the community that will raise your curiosity - don't hesitate to get involve and share with others.
6- Career opportunities
PowerShell skills are unique and it will make you a sysadmin++ and a great advantage for job and career opportunities. When you master PowerShell you will be able to work in any environment and an easy fit as as a sysadmin, DevOps engineer, Cloud engineer, backend developer, site reliability engineer, etc...
7- Discipline
Because you are writing script that could have large scale and impact you have to create and follow a process to design, implement, test and deploy these scripts safely. This process comes with experience and best practice and by using PowerShell you will forge this discipline.
8- Optimisation
Using PowerShell and automation will optimise those BAU tasks and free a lot of time (and pressure) that you can reinvest in other avenues like learning new skills.
9- Troubleshooting
Scripts never work first time, and the skill you will acquire by troubleshoot those are are such valuable assets. It's a mindset and a methodology that will help you with any issue you encounter.
10 - Transferrable skills
The efforts that you spend learning PowerShell will bring you skills developing your learning capability and a fast aptitude in adopting new technologies. For example, with PowerShell 7 the step to move from Windows to Linux is small and learning bash/sh will not being such a dompting task.
Conclusion
To get started, I would recommend to use community resources. I personally learned a lot from Shane Young PowerShell tutorial on YouTube and other courses available in learning platforms like CBTNuggets. Don't hesitate to contribute to open source project on GitHub or even just clone a repository and personalise it locally, the more you use it, the better you will become. Take advantage of AI tools like chatGPT or GitHub Copilot to create your first script and understand what they do and adapt/correct them as you see fit.
In my next blog, we will be looking at Graph Identity Governance API endpoints and specifically PIM. We will learn how you can use the API to automate and configure the feature.
Thanks for reading and keep posted!
About William Francillette:

I am DevSecOps Lead and Solution Architect at Threatscape specialised in M365 and Azure security offering.
I love learning, blogging and coding. My interests are very diverse and span across architecture, security, cloud engineering, automation, DevOps and PowerShell.
I own as of today 17x (and counting) Microsoft certifications and have worked in IT across multiple and diverse industries for over 15 years.
Comments