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

The CmdletBinding attribute

The CmdletBinding attribute is used to turn a function into an advanced function and is placed immediately above a param block. The attribute is used to add extra functionality, such as access to common parameters, control over the impact level, and so on. Scripts are not referred to as advanced scripts, but the same principle applies.

CmdletBinding may be used to do the following:

  • Add common parameters, such as ErrorAction, Verbose, Debug, ErrorVariable, WarningVariable, and so on
  • Enable use of the built-in $PSCmdlet variable
  • Declare support for WhatIf and Confirm and define the impact level of the command

If a script or function has no parameters, and wishes to make use of the capabilities provided by CmdletBinding, an empty param block must be declared:

function Test-EmptyParam {
    [CmdletBinding()]
    param ( )
}

One of the most important features added by CmdletBinding are the common parameters.

Common...