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

Working with jobs

The Start-Job command in PowerShell provides a means of executing code asynchronously by creating a new PowerShell process for each job.

As each job executes within a new process, data cannot be shared between jobs. Any required modules, functions, or variables all need to be imported into each job.

Additionally, jobs might be considered resource heavy as each job must start both a PowerShell process and a console window's host process.

PowerShell provides several commands to create and interact with jobs. In addition to the following commands, you can use Invoke-Command with the AsJob parameter when acting against remote systems.

The Start-Job, Get-Job, and Remove-Job commands

You can use the Start-Job command to execute a script block in a similar manner to Invoke-Command, as shown in Chapter 14, Remoting and Remote Management. Also, you can use Start-Job to execute a script using the FilePath parameter.

When Start-Job is executed...