This comprehensive guide covers both basic and advanced topics and tips to help you become adept at using PowerShell scripting, and act as a master reference.

Mastering PowerShell Scripting

Recommended experience
Recommended experience
Beginner level
Ideal for system administrators and IT professionals looking to automate tasks using PowerShell. No prior experience with PowerShell is required.
Recommended experience
Recommended experience
Beginner level
Ideal for system administrators and IT professionals looking to automate tasks using PowerShell. No prior experience with PowerShell is required.
What you'll learn
Optimize code using functions, switches, and looping structures
Debug scripts and handle errors effectively
Work with objects, operators, and data types to manipulate information
Skills you'll gain
Details to know

Add to your LinkedIn profile
May 2026
23 assignments
See how employees at top companies are mastering in-demand skills

There are 23 modules in this course
This module introduces the fundamentals of PowerShell, including its command structure, help system, and scripting environment. Learners will explore how to use specialized editors, discover and understand commands, utilize parameters and parameter sets, and streamline scripting with techniques like splatting. By the end, you'll be equipped to navigate and leverage PowerShell for system administration tasks.
What's included
1 video10 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
10 readings•Total 56 minutes
- Introduction•4 minutes
- PowerShell Editors•4 minutes
- Get-Help Command•6 minutes
- Save-Help•5 minutes
- Command Naming and Discovery•4 minutes
- Parameters, Values, and Parameter Sets•6 minutes
- Parameter Sets•9 minutes
- Force Parameter•5 minutes
- Drives and Providers•6 minutes
- Splatting to Avoid Repetition•7 minutes
1 assignment•Total 16 minutes
- PowerShell Basics and Help System Essentials•16 minutes
This module introduces learners to PowerShell modules and snap-ins, detailing how to manage and extend PowerShell's capabilities. You will explore how to locate, install, and update modules using tools like PowerShellGet and understand the significance of the PSModulePath environment variable.
What's included
1 video4 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
4 readings•Total 21 minutes
- Introduction•5 minutes
- PSModulePath in PowerShell•5 minutes
- Finding and Installing Modules•4 minutes
- PowerShellGet 3.0•7 minutes
1 assignment•Total 16 minutes
- PowerShell Module and Snap-In Fundamentals•16 minutes
This module introduces the foundational concepts of working with objects in PowerShell, including properties, methods, and members. Learners will gain hands-on experience manipulating, filtering, sorting, grouping, and comparing objects, as well as importing data from CSV files. By the end, you'll be able to efficiently manage and analyze collections of objects using key PowerShell commands.
What's included
1 video9 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
9 readings•Total 51 minutes
- Introduction•5 minutes
- Members•5 minutes
- Using Methods•4 minutes
- Enumerating and Filtering•6 minutes
- Where-Object Command•9 minutes
- Sort-Object Command•4 minutes
- Grouping and Measuring•6 minutes
- Comparing•6 minutes
- Import-Csv Command•6 minutes
1 assignment•Total 16 minutes
- PowerShell Object Handling and Pipeline Concepts•16 minutes
This module introduces the wide range of operators available in PowerShell, including mathematical, comparison, array, string, bitwise, type, and conditional operators. Learners will explore how to manipulate data, perform calculations, test conditions, and control output using these operators. Practical examples and syntax explanations will help you confidently use operators in real-world scripting scenarios.
What's included
1 video10 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
10 readings•Total 51 minutes
- Introduction•4 minutes
- Multiplication, Division, and Remainder Operators•6 minutes
- Comparison Operators•5 minutes
- Contains and in•5 minutes
- Split•4 minutes
- Binary Operators•4 minutes
- Shift Left and Shift Right Operators•4 minutes
- Type Operators•6 minutes
- Redirection to Null•6 minutes
- Ternary•7 minutes
1 assignment•Total 16 minutes
- PowerShell Operators and Their Applications•16 minutes
This module introduces the fundamentals of working with variables, arrays, and Hashtables in PowerShell. Learners will explore variable management, type conversion, array manipulation, and the use of associative collections like Hashtables and Dictionaries. By the end, you'll be able to efficiently store, access, and modify data structures in PowerShell scripts.
What's included
1 video10 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
10 readings•Total 52 minutes
- Introduction•5 minutes
- Variable Commands•4 minutes
- Variable Provider•5 minutes
- Numeric Scopes•4 minutes
- Types and Type Conversion•5 minutes
- Arrays•5 minutes
- Selecting Elements from an Array•6 minutes
- Multi-Dimensional and Jagged Arrays•6 minutes
- Removing Elements from a Hashtable•5 minutes
- System.Collections.Generic.Dictionary•7 minutes
1 assignment•Total 16 minutes
- PowerShell Data Structures and Variable Behavior•16 minutes
This module introduces the fundamental concepts of conditional statements and loops, essential tools for controlling program flow. Learners will explore how to make decisions in code, repeat actions efficiently, and manage loop execution using keywords like break and continue.
What's included
1 video4 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
4 readings•Total 22 minutes
- Introduction•6 minutes
- Script Block Cases•4 minutes
- Loops•6 minutes
- Loops, Break, and Continue•6 minutes
1 assignment•Total 16 minutes
- Control Flow Fundamentals•16 minutes
This module introduces the foundational concepts of working with Microsoft .NET in PowerShell, including types, methods, and the use of keywords like 'using' and type accelerators. Learners will explore how to interact with .NET objects, utilize namespaces, and access both public and non-public members through reflection. By the end, you'll be equipped to leverage .NET libraries effectively within your scripts.
What's included
1 video6 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
6 readings•Total 33 minutes
- Introduction•6 minutes
- Types•4 minutes
- Using Keyword•4 minutes
- Type Accelerators•5 minutes
- Methods•6 minutes
- Reflection in PowerShell•8 minutes
1 assignment•Total 16 minutes
- Exploring .NET and PowerShell Fundamentals•16 minutes
This module introduces essential techniques for handling strings, numbers, and dates in PowerShell, leveraging the .NET Framework. Learners will explore methods for manipulating and converting data types, including working with arrays, Base64 encoding, and culture-specific date formats. By the end, you'll be equipped to efficiently process and transform simple data types in PowerShell scripts.
What's included
1 video7 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
7 readings•Total 38 minutes
- Introduction•6 minutes
- Trim, TrimStart, and TrimEnd•6 minutes
- String Methods and Arrays•4 minutes
- Converting Strings•6 minutes
- Working with Base64•6 minutes
- Manipulating Dates and Times•6 minutes
- DateTime Parameters•4 minutes
1 assignment•Total 16 minutes
- Strings, Numbers, and Dates in Programming•16 minutes
This module introduces the fundamentals of regular expressions, including syntax, special characters, and advanced features like look-ahead and look-behind. Learners will explore how to construct, modify, and apply regex patterns for tasks such as text searching, value capturing, and data validation. Practical examples, such as matching IP addresses, help solidify understanding and application.
What's included
1 video9 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
9 readings•Total 44 minutes
- Introduction•5 minutes
- The Escape Character•4 minutes
- Anchors•5 minutes
- Character Classes•6 minutes
- Alternation•4 minutes
- Capturing Values•4 minutes
- Look-ahead and Look-behind•5 minutes
- Regex Options•5 minutes
- IP Addresses•6 minutes
1 assignment•Total 16 minutes
- Mastering Regular Expression Constructs•16 minutes
This module introduces learners to managing files, folders, and the Windows Registry using PowerShell providers. You will explore how to manipulate items and their properties, configure permissions and access control lists, and manage ownership within the filesystem and registry contexts.
What's included
1 video6 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
6 readings•Total 32 minutes
- Introduction•6 minutes
- Items•4 minutes
- Item Properties•4 minutes
- Windows Permissions•5 minutes
- Removing ACEs•6 minutes
- Ownership•7 minutes
1 assignment•Total 16 minutes
- Navigating Files, Folders, and the Registry•16 minutes
This module introduces the fundamentals of Windows Management Instrumentation (WMI), including its architecture, querying with WQL, and interacting with system information and methods. Learners will explore how to retrieve and manipulate system data, manage permissions, and understand class associations within WMI using PowerShell.
What's included
1 video6 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
6 readings•Total 34 minutes
- Introduction•5 minutes
- Calling Methods•6 minutes
- The WMI Query Language•5 minutes
- Associated Classes•5 minutes
- Calling Methods•9 minutes
- WMI Permissions•4 minutes
1 assignment•Total 16 minutes
- Exploring WMI and CIM Technologies•16 minutes
This module introduces the essential PowerShell commands and .NET classes for working with HTML, XML, and JSON data formats. Learners will explore how to parse, manipulate, and convert structured data using practical examples and built-in tools. By the end, you'll be able to efficiently handle data serialization and transformation tasks in PowerShell.
What's included
1 video7 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
7 readings•Total 36 minutes
- Introduction•5 minutes
- XML Commands•5 minutes
- System.Xml•6 minutes
- Removing Elements and Attributes•6 minutes
- System.Xml.Linq•5 minutes
- JSON•5 minutes
- ConvertFrom-Json•4 minutes
1 assignment•Total 16 minutes
- Data Format Fundamentals•16 minutes
This module explores the fundamentals of interacting with web APIs using REST and SOAP, including handling authentication with OAuth and managing SSL errors in PowerShell 7. Learners will gain practical experience making web requests, passing arguments, and working with WSDL documents for SOAP services.
What's included
1 video6 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
6 readings•Total 31 minutes
- Introduction•6 minutes
- Capturing SSL Errors•4 minutes
- Requests with Arguments•6 minutes
- OAuth•4 minutes
- Working with SOAP•7 minutes
- SOAP in PowerShell 7•4 minutes
1 assignment•Total 16 minutes
- Web Communication Fundamentals•16 minutes
This module explores the fundamentals of PowerShell remoting, including secure remote connections, session management, and cross-platform considerations. Learners will gain practical skills in configuring encrypted remoting, managing user permissions, and troubleshooting common issues such as the double-hop problem. The module also introduces advanced concepts like Just Enough Administration for delegated access.
What's included
1 video8 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
8 readings•Total 39 minutes
- Introduction•4 minutes
- Remoting and SSL•7 minutes
- User Account Control•4 minutes
- Invoke-Command•6 minutes
- Copying Items Between Sessions•5 minutes
- Connecting from Linux to Windows•4 minutes
- The Double-Hop Problem•5 minutes
- Just Enough Administration•4 minutes
1 assignment•Total 16 minutes
- PowerShell Remoting and Remote Management Fundamentals•16 minutes
This module explores how to execute PowerShell commands asynchronously, enabling you to run multiple tasks simultaneously for improved efficiency. You'll learn about jobs, runspaces, event handling, and techniques for managing variables and multiple instances in asynchronous workflows.
What's included
1 video5 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
5 readings•Total 31 minutes
- Introduction•6 minutes
- Jobs and Using Scope Modifier•5 minutes
- Reacting to Events•6 minutes
- Using Runspaces and Runspace Pools•6 minutes
- Running Multiple Instances•8 minutes
1 assignment•Total 16 minutes
- PowerShell Asynchronous Processing Concepts•16 minutes
This module introduces the fundamentals of building graphical user interfaces (GUIs) in PowerShell using Windows Presentation Foundation (WPF). Learners will explore layout controls, event handling, element naming, and techniques for creating responsive and interactive interfaces. Practical examples demonstrate how to arrange UI elements, handle user actions, and manage interface responsiveness.
What's included
1 video7 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
7 readings•Total 34 minutes
- Introduction•4 minutes
- Layout•5 minutes
- Using the DockPanel Control•5 minutes
- Naming and Locating Elements•5 minutes
- Buttons and the Click Event•4 minutes
- Sorting a ListView•4 minutes
- Responsive Interfaces•7 minutes
1 assignment•Total 16 minutes
- Navigating UI Components and Layouts•16 minutes
This module introduces the foundational elements of PowerShell scripting, including the use of scripts, functions, and script blocks. Learners will explore parameter handling, advanced function attributes, output management, and best practices for writing maintainable code. The module also covers techniques for documentation and code readability.
What's included
1 video9 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
9 readings•Total 43 minutes
- Introduction•4 minutes
- Capabilities of Scripts, Functions, and Script Blocks•4 minutes
- Parameters and the Param Block•4 minutes
- CmdletBinding Attribute•8 minutes
- The Alias Attribute•5 minutes
- Cleanup•4 minutes
- Managing Output•5 minutes
- Working with Long Lines•4 minutes
- Comment-based Help•5 minutes
1 assignment•Total 16 minutes
- PowerShell Scripting Fundamentals•16 minutes
This module explores advanced parameter handling in PowerShell, including validation techniques, dynamic parameters, and argument completers. Learners will discover how to control parameter input, enforce validation rules, and implement flexible parameter sets to enhance script functionality.
What's included
1 video9 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
9 readings•Total 49 minutes
- Introduction•6 minutes
- ValueFromRemainingArguments Property•5 minutes
- Validation Attributes•4 minutes
- ValidateLength Attribute•6 minutes
- PSReference Parameters•5 minutes
- Using ValueFromPipeline for Multiple Parameters•6 minutes
- Defining Parameter Sets•4 minutes
- Argument Completers•5 minutes
- Dynamic Parameters•8 minutes
1 assignment•Total 16 minutes
- PowerShell Parameters and Validation•16 minutes
This module introduces the fundamentals of creating and using classes and enumerations in PowerShell, including inheritance, interfaces, and custom validation attributes. Learners will explore how to leverage these features for more robust scripting and configuration management, including integration with Desired State Configuration (DSC). Practical examples demonstrate how to implement and utilize these advanced object-oriented concepts in real-world scenarios.
What's included
1 video9 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
9 readings•Total 46 minutes
- Introduction•6 minutes
- Flags Attribute•5 minutes
- Creating a Class•6 minutes
- Inheritance•5 minutes
- Working with Interfaces•5 minutes
- Supporting Casting•5 minutes
- Validation Attribute Classes•5 minutes
- Classes and DSC•5 minutes
- Using the Resource•4 minutes
1 assignment•Total 16 minutes
- PowerShell Object-Oriented Concepts•16 minutes
This module introduces the fundamentals of creating, managing, and publishing PowerShell modules. Learners will explore module manifests, understand how to merge and structure module content, and practice initializing and removing modules for effective automation and code organization.
What's included
1 video6 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
6 readings•Total 31 minutes
- Introduction•6 minutes
- Module Manifests•4 minutes
- Publishing a Module•6 minutes
- Merging Module Content•5 minutes
- Accessing Module Scope•4 minutes
- Initializing and Removing Modules•6 minutes
1 assignment•Total 16 minutes
- PowerShell Module Fundamentals•16 minutes
This module introduces automated testing in PowerShell, focusing on tools and techniques such as PSScriptAnalyzer, the Abstract Syntax Tree (AST), tokenization, and the Pester testing framework. Learners will explore how to structure, execute, and iterate tests, as well as how to use mocking and module scope features to enhance test coverage and reliability.
What's included
1 video9 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
9 readings•Total 62 minutes
- Introduction•6 minutes
- Using AST•7 minutes
- Tokenizer•5 minutes
- Testing with Pester•6 minutes
- Describing Tests•6 minutes
- Iteration with Pester•6 minutes
- Pester Phases•13 minutes
- Mocking Objects•8 minutes
- InModuleScope•5 minutes
1 assignment•Total 16 minutes
- Testing Fundamentals and Techniques•16 minutes
This module explores how PowerShell handles errors, including the distinction between terminating and non-terminating errors. Learners will discover various techniques for raising, capturing, and managing errors using parameters, variables, and control statements. By the end, you'll be equipped to diagnose and respond to unexpected conditions in your scripts.
What's included
1 video7 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
7 readings•Total 33 minutes
- Introduction•4 minutes
- Error Actions•5 minutes
- Raising Non-Terminating Errors•4 minutes
- Catching Errors•5 minutes
- Rethrowing Errors•6 minutes
- Throw and Error Action•5 minutes
- About Trap•4 minutes
1 assignment•Total 16 minutes
- Mastering Error Handling in PowerShell•16 minutes
This module explores essential debugging techniques and troubleshooting strategies for PowerShell scripts. Learners will discover how to identify and resolve common issues related to operators, variables, and named blocks, and will gain hands-on experience using debugging tools in both the console and Visual Studio Code.
What's included
1 video6 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
6 readings•Total 30 minutes
- Introduction•4 minutes
- Operator Usage•4 minutes
- Use of Named Blocks•4 minutes
- Problems with Variables•6 minutes
- Debugging in the Console•5 minutes
- Debugging in Visual Studio Code•7 minutes
1 assignment•Total 16 minutes
- Mastering Debugging and Scripting in PowerShell•16 minutes
Instructor

Offered by

Offered by

Packt helps tech professionals put software to work by distilling and sharing the working knowledge of their peers. Packt is an established global technical learning content provider, founded in Birmingham, UK, with over twenty years of experience delivering premium, rich content from groundbreaking authors on a wide range of emerging and popular technologies.
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.

Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
If you complete the course successfully, your electronic Course Certificate will be added to your Accomplishments page - from there, you can print your Course Certificate or add it to your LinkedIn profile.
This course is currently available only to learners who have paid or received financial aid, when available.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
More questions
Financial aid available,