Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Mastering PowerShell Scripting

Packt via Coursera

Overview

Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
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. Master PowerShell scripting with this updated guide that simplifies automation and enhances your ability to manage systems efficiently. Learn to debug, troubleshoot, and create GUIs while exploring the latest features of PowerShell 7.1. This resource is designed to help you build and refine your scripting skills through practical, real-world applications. This practical guide covers all the advanced PowerShell 7 functionalities that an administrator needs to learn to automate their environments. This course is ideal for system administrators and IT professionals looking to automate tasks using PowerShell. No prior experience with PowerShell is required, though basic knowledge of operating systems is recommended. Learners will gain the skills needed to streamline workflows and improve system efficiency.

Syllabus

  • Introduction to PowerShell
    • 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.
  • Modules and Snap-Ins
    • 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.
  • Working with Objects in PowerShell
    • 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.
  • Operators
    • 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.
  • Variables, Arrays, and Hashtables
    • 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.
  • Conditional Statements and Loops
    • 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.
  • Working with .NET
    • 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.
  • Strings, Numbers, and Dates
    • 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.
  • Regular Expressions
    • 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.
  • Files, Folders, and the Registry
    • 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.
  • Windows Management Instrumentation
    • 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.
  • Working with HTML, XML, and JSON
    • 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.
  • Web Requests and Web Services
    • 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.
  • Remoting and Remote Management
    • 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.
  • Asynchronous Processing
    • 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.
  • Graphical User Interfaces
    • 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.
  • Scripts, Functions, and Script Blocks
    • 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.
  • Parameters, Validation, and Dynamic Parameters
    • 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.
  • Classes and Enumerations
    • 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.
  • Building Modules
    • 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.
  • Testing
    • 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.
  • Error Handling
    • 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.
  • Debugging and Troubleshooting
    • 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.

Taught by

Packt - Course Instructors

Reviews

Start your review of Mastering PowerShell Scripting

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.