An introduction to the PowerShell language covering scripting/toolsmithing and general administration. Each section covers a topic and contains exercises to further reinforce the concepts covered and develop the research mindset.
A new post will be released every 2nd and 4th week of the month.
Quick side note: There will be option to copy-paste commands for troubleshooting purposes but I recommend typing out every example to get the most out of the course.
The Intro to PowerShell series is broken up into 3 main parts: Introduction, Programmatic PowerShell, and Administration.
Intro To PowerShell: Intro
The Intro section introduces students to PowerShell covering general concepts and key cmdlets.
Intro To PowerShell: Programmatic PowerShell
This section covers the programmatic aspect of PowerShell: variables, logic flow, conditionals, structures, etc.
Intro To PowerShell: Administration
The Administration is all about using PowerShell to perform administrative tasks. Things like user/group modification, process administration, accessing the Windows Registry, PowerShell specific features (i.e PSRemoting and PSDrives), interfacing with .NET, etc.
What this course is and what it is not
Before getting into the actual content of the course, I think it's important to highlight what this course is and what it is not. This course is NOT a one-stop shop for all things PowerShell. It is beyond my abilities to do so and I don't think there is such a course out there. This course is also not a PowerShell toolkit show-and-tell. i.e this course is teaching how to use PowerShell, not how to use xyz PowerShell based tool. The purpose of this course is to teach PowerShell, not to teach how to use PowerShell offensively or defensively. It merely serves to teach the capabilities of the language and its limitless possibilities. The ultimate goal of this course isn't to teach all there is to know about PowerShell in every manner, rather it is to establish a solid foundation that can be further built upon. By the end of this course, an attentive student should be able to read and understand PowerShell scripts/tools available on the internet as well as write up their own and be able to leverage it as a powerful administration tool.
While this is an introduction course, there are a few prerequisites. While I will go into many programming topics, I will not be teaching programming itself. Students are expected to know the common data types as well as at least a basic understanding of logic flow and loops.