Class Overview
Because automation becomes more critical during the day and some features and functions that can be configured and used only by PowerShell, it becomes important that system administrators learn to use PowerShell. Automation with PowerShell is one of the most cost-effective ways to optimize the time of the task. Come learn PowerShell from some of the best through real-life examples and practical exercises that you can apply directly to your environment.
In this training you will learn the basic building blocks of PowerShell. You will learn to use Visual Studio Code to write everything from small, simple commands and one-liners to more powerful scripts. You not only learn to use PowerShell commands but also to understand other writers’ scripts, write custom features and modules, and manage many Microsoft technologies with PowerShell, including Active Directory, Configuration Manager, and more. This training focuses on learning how to use PowerShell for daily work through real-life examples and exercises rather than on posts and outputs of PowerShell variables.
Level
300 (advanced)
Who Will Participate
IT pros and administrators who want to learn how to use PowerShell to manage and automate their environments. This class is great for those who have limited experience with PowerShell or who have written one or two scripts and are hungry to learn more.
Prerequisites
A basic understanding of Microsoft Windows and Office 365. Some parts of the training involve changes to Active Directory and Configuration Manager, so knowledge in those areas is helpful but not required.
Material
Student lab manual and sample scripts.
Class Outline
Module 1 – Introduction to PowerShell
- What is PowerShell
- Environment variables
- The object-oriented lifestyle
- Pseudo-code and how to write it
- Cmdlet structure
- Navigating the built-in Help
- Execution policy
- Stealing with pride
- The many editors of PowerShell
Module 2 – Hello World
- Hello World
- Hello World – as a function
- Recursion is your friend
- Logging Hello World
Module 3 – Conditionals and Operators
- If something, do something Else
- ForEach and ForEach Object
- Do Until, While, and Finally
- Try, Catch
- Operators: -gt, -lt, -eq, and more
Module 4 – The PowerShell Pipeline
- The power of the one-liner
- The PowerShell pipeline
- Iterating on information from the pipeline
- $ _. And $ _
Module 5 – Part 1: Getting Information With PowerShell (Computers)
- Getting information with PowerShell
- Getting information using functions with PowerShell
- Getting information from multiple machines using PowerShell
- Exporting gathered data from PowerShell
- Importing gathered data to PowerShell
Module 6 – Part 1: How to Make Changes Using PowerShell (Computers)
- Making changes to your machine
- Doing stuff to your machine as a function
- Doing stuff to someone else’s machine
- Doing stuff to someone else’s machine with functions
- Error handling – “This is fine”
- Verbose statements
Module 7 – Part 2: Getting information With PowerShell (Infrastructure)
- Using Infrastructure modules
- Getting information from the infrastructure using built-in modules
- Getting information using functions with PowerShell
- Getting information from multiple infrastructure components using PowerShell
- Exporting gathered data from PowerShell
- Importing gathered data to PowerShell
Module 8 – Part 2: How to Make Changes Using PowerShell (Infrastructure)
- Making changes to Active Directory
- Change Active Directory with features
- Make changes to ConfigMgr
- Make changes to ConfigMgr with functions
- Make changes to the Hyper-V VMM
- Change the Hyper-V VMM with functions
Module 9 – Building Modules
- How to create your own PowerShell module
- Using PSGallery
- Reference to other modules
Module 10 – Automating Tasks
- Use scheduled tasks to start scripts
- Automate your automation
- Group policy script
Module 11 – PowerShell Programming Concept
- Don’t and don’t
- Beam manipulation
- Conversions
- Input and output
- Write-host vs Write-Verbose
- PowerShell providers