Complete Guide to PowerShell 7
11h 7mIntermediate2025-03-21
Authors

Liam Cleary
Microsoft MVP and MCT, CEO of SharePlicity
Course details
Microsoft Certified Trainer Liam Cleary explores the comprehensive capabilities of PowerShell 7 in this detailed course designed to enhance your scripting and automation skills. Learn how to install and set up PowerShell on Windows, macOS, and Linux, ensuring a seamless cross-platform experience. Discover the core features such as modules, providers, and the PowerShell console while mastering command execution, variables, pipelines, and objects. Develop your expertise in building functions, handling errors, and creating reusable code modules. Delve into advanced topics like PowerShell remoting, interacting with web services, and constructing graphical user interfaces using Windows Forms. Learn crucial security practices for script execution and managing sensitive data. This course provides actionable insights and hands-on examples to optimize your workflow. By the end of this course, you'll be adept at leveraging PowerShell for efficient system management and automation.
Skills covered
PowerShellIT AutomationNetwork and System AdministrationMicrosoftDeep Dive (X:Y)
Concepts
Introduction
- Everything about PowerShell 7
- What you should know
Introducing PowerShell
- Overview of PowerShell
- Key features of PowerShell 7
- PowerShell vs. traditional command-line interfaces
- Install PowerShell 7 on Windows
- Install PowerShell 7 on macOS
- Install PowerShell 7 on Linux
- Understanding the PowerShell console
Setting Up PowerShell
- Setting up PowerShell on Windows
- Using PowerShell profiles
- Installing and managing modules
- Initial customization and settings
Getting Started with Modules and Providers
- Understanding PowerShell modules
- Install modules from the PowerShell gallery
- Importing and using modules
- Navigating the FileSystem provider
- Navigating the file system provider
- Using the registry provider
- Using custom providers
Executing PowerShell Commands
- Basic command structure
- Running simple commands
- Using Get-Command
- Using Get-Help
- Common cmdlets overview
- Managing processes with Get-Process
- Working with services
- Running scripts interactively
Working with Variables and Pipelines
- Introduction to variables
- Creating and using variables
- Variable scopes
- Introduction to pipelines
- Using pipelines effectively
- Combining pipelines and variables
- Backticks vs. splatting vs. class objects
PowerShell Objects
- Understanding PowerShell objects
- Inspect objects with Get-Member
- Select object properties
- Sorting objects
- Filtering objects
- Creating custom objects
- Extending objects with methods
- Converting objects to different formats
Using Functions and Parameters
- Introduction to functions
- Creating simple functions
- Using parameters in functions
- Advanced parameter handling
- Validating parameters
- Returning values from functions
- Creating reusable functions
- Function libraries and modules
Flow Control Using Looping and Error Handling
- Introduction to flow control
- Using if, else, and switch statements
- For and foreach loops
- While and do-while loops
- Introduction to error handling
- Using try, catch, and finally blocks
- Throwing custom errors
- Debugging PowerShell scripts
Scripting for Multiple Output Paths
- Introduction to output paths
- Using Out-File for file output
- Using Out-GridView for interactive output
- Using Out-String and Out-Host
- Exporting data to CSV
- Exporting data to JSON
- Exporting data to XML
- Creating custom output formats
PowerShell Remote WinRM and Invoke-Command
- Introduction to PowerShell remoting
- Setting up WinRM
- Using New-PSSession
- Using Invoke-Command
- Using Enter-PSSession
- Remoting best practices
- Troubleshooting remoting issues
Miscellaneous PowerShell Capabilities
- Working with APIs and web services
- Making HTTP requests with Invoke-RestMethod
- Making HTTP requests with Invoke-WebRequest
- Parsing JSON data
- Parsing XML data
- Creating custom API integrations
- Automating web operations
- Handling other data formats
Building User Interfaces Using PowerShell
- Introduction to PowerShell GUIs
- Using Windows Forms for GUI development
- Creating a basic form
- Handling user input
- Using event handlers
- Building complex forms
- Adding error handling to GUIs
Security for PowerShell
- Introduction to PowerShell security
- Setting execution policies
- Script signing and verification
- Protecting sensitive information
- Using secure strings
- Managing credentials securely
- Auditing and logging
Conclusion
- Continuing your PowerShell journey