Book Image

Mastering PowerShell Scripting - Fourth Edition

By : Chris Dent
5 (1)
Book Image

Mastering PowerShell Scripting - Fourth Edition

5 (1)
By: Chris Dent

Overview of this book

PowerShell scripts offer a convenient way to automate various tasks, but working with them can be daunting. Mastering PowerShell Scripting takes away the fear and helps you navigate through PowerShell's capabilities.This extensively revised edition includes new chapters on debugging and troubleshooting and creating GUIs (online chapter). Learn the new features of PowerShell 7.1 by working with parameters, objects, and .NET classes from within PowerShell 7.1. This comprehensive guide starts with the basics before moving on to advanced topics, including asynchronous processing, desired state configuration, using more complex scripts and filters, debugging issues, and error-handling techniques. Explore how to efficiently manage substantial amounts of data and interact with other services using PowerShell 7.1. This book will help you to make the most of PowerShell's automation features, using different methods to parse data, manipulate regular expressions, and work with Windows Management Instrumentation (WMI).
Table of Contents (26 chapters)
24
Other Books You May Enjoy
25
Index

Parameters and the param block

You can use parameters to describe and give names to the values a command is willing to accept when it is run. The list of parameters is separated by a comma.

Parameters can be defined as a block using the param keyword, which is the most popular approach as parameter blocks in PowerShell can become quite large. Using the param keyword is the only way to describe parameters for scripts and script blocks:

param (
    $Parameter1,
    $Parameter2
)

When used in a function, the param block is used as follows:

function New-Function {
    param (
        $parameter1,
        $parameter2
    )
}

The param block is required if CmdletBinding, Alias, or any other attributes are applied to the function. The CmdletBinding and Alias attributes are explored later in this chapter.

Functions also allow parameters to be defined immediately after the function name. For example:

function New-Function($Parameter1, $Parameter2) {
    # Function...