Hello! I wanted to talk about my experience learning PowerShell, from a complete beginner to someone steadily becoming proficient. I started my journey in February of this year and I am still learning new things each day.
I started by reading Learn PowerShell in a Month of Lunches, which gave me a great introduction to PowerShell and helped me understand Core concepts. The biggest take away would be using the Get-Help cmdlet; it's my primary research tool when searching for Helpfiles and Commands. Another big topic is writing reusable functions in scripts. Making a useable function that does not format the output can be very useful in replicating in different scripts. I'm still working on improving my understanding with PowerShell stream handling and how cmdlets are handle in the Pipeline.
This is not my first programming language; I started by learning Python while I was in college. Early on in my reading I tried making scripts the same way I would in Python with a lot of For loops and While loops. What I realized after reading further into the book is that I was not using PowerShell greatest strength the Pipeline! The Pipeline is used to pipe data from one Command into the next, and it has made scripting a lot more exciting! I was able to reduce the amount of lines my code had. I also learned about error handling, and for some reason I was adverse to using error handling in my first couple of scripts. Only until I finished the book did I realize the importance of error handling. Below I have a snippet of my code where I used try/catch to inform the user of the specific error they are receiving and next steps.
I attend PSCONFEU mini, a virtual convention that was focused on PowerShell. This conference is a smaller part of the in person conference PSCONFEU. During this event I was able to attend two conferences one about Autolabs and the other about the Human side of PowerShell. This was a great experience to see the technical and human side of PowerShell programming, and really shows the level you can take scripting. I would like to attend the PowerShell + DevOPS summit in the future.
I have enjoyed my time learning and practicing PowerShell, and I don't plan on stopping. Right now I am trying to come up with a list of different ideas to script out, while sharing my scripts and ideas on this GitHub account.