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

Objects assigned to variables

PowerShell (and all other .NET languages) has two main categories of types, value types and reference types.

A variable that holds a value type contains an instance of that type. Value types include numeric (int, int64, byte, and so on), characters (char), DateTime, and so on. When a value type is used, for instance, by assigning it to another variable or using the variable as an argument for a parameter, the value is copied.

Reference types differ from value types. A variable assigned a reference type holds only the reference to that object (not the object itself). Two (or more) variables may reference the same object. Reference types are very common in PowerShell; examples include Hashtable, PSCustomObject, processes returned by Get-Process, services returned by Get-Service, and so on. When used as an argument for a parameter, the reference to the object is passed (the object is not copied).

A string is not a value type, but it has...