My Journey of Learning PowerShell Scripting
Tags: beginners, powershell, azure, automation
Published: 2023-10-26 14:16:45

Automation and scripting, I've come to learn is a huge part in being a proficient cloud engineer in the industry. After finishing up a few certifications to get me introduced to Azure and its resources, and building my first cloud project, the next step was to dive into the beginnings of automation. Enter PowerShell. This was really my first interactions with ever using a shell or command line before, aside from doing small tasks such as creating directories or files. I'll take you down my learning path and project I did to help put my knowledge to work with real working scripts.

As with any new programming language or technology, looking at the capabilities and seeing what others have created, the brain immediately goes to overwhelmed, and the gears of "How am I ever going to learn all of this?!". The answer, as with any monumental task, is baby steps my friend. Before I did any sort of learning, I broke out the old trusty notebook and pen, and began putting together a list of everything I wanted/needed to learn to do with PowerShell. After I had my list made, I reorganized that list into steps and order of how I was going to learn and giving myself semi-strict schedule of time spent learning certain material. After I finished up my learning schedule and was proficient in small tasks that I learned, it was time to start putting everything together into my Azure PowerShell scripting project.

Back when I was studying for my Azure certs, to help me get some hands-on experience and really understand the resources and structure I was learning about, I was doing the [Microsoft Learning GitHub Labs](https://github.com/MicrosoftLearning). I thought these labs would be a great place to test out automating scripts to build out Azure infrastructure.

I started out by creating my [repository](https://github.com/bmeinert8/Powershell-Scripts) in GitHub, then cloning the repository to my desktop in PowerShell. From here it was time to get busy in VSCode. The great thing about VSCode is having the PowerShell extension and being able to write scripts directly in the code editor and run and test them in the PowerShell terminal extension. After going through the Az 104 labs the scripts were written, aside from running them through the PowerShell extension, I also ran them through cloud shell in azure itself, just to gain some experience with using it as well.

This project came with many, and I mean many challenges for me, everything from learning the cmdlets and parameters to getting infrastructure built with those cmdlets to the specifics that the labs asked for. To help me overcome the challenges, I put my Googling skills to work, reading documents, watching videos, trial and error, and when all else failed, I'd reach out for suggestions and help from the lovely people on stack overflow and reddit.

All and all I've had a ton of fun learning and working with PowerShell. This will become an ongoing repository as the more projects I create the more scripts I'll be adding to the repository. I also have plans of going back to some of the other azure labs and automating those with PowerShell scripts as well for others to reference, and just to continue gaining my own experience with the skill.