What this book covers
Chapter 1, PowerShell Primer, provides a brief introduction to some of the most important entities in the PowerShell language including cmdlets, functions, scripts, and modules. A special emphasis is placed on the importance of the pipeline in PowerShell operations.
Chapter 2, PowerShell Peculiarities, includes a number of features of the PowerShell language, which are unusual when compared with other mainstream programming languages. Examples of these topics are output from functions and non-terminating errors.
Chapter 3, PowerShell Practices, shows a few ways that the scripting experience in PowerShell can be improved, either in performance or in maintainability. A lengthy discussion of the various output cmdlets is included.
Chapter 4, PowerShell Professionalism, gives examples of practices that might not be as familiar to traditional system administrators but are common among professional developers. These practices will help scripters create more reliable products and be more confident when making changes to existing codebases.
Chapter 5, Proactive PowerShell, presents a number of practices that, when applied to code, will result in more flexible code with fewer bugs. In a sense, this is pre-emptive troubleshooting, where we create our code thoughtfully in order to reduce the need for troubleshooting later.
Chapter 6, Preparing the Scripting Environment, covers the idea of knowing the characteristics of the environment in which your scripts are running. We also spend some effort trying to weed out network connectivity issues.
Chapter 7, Reactive Practices – Traditional Debugging, shows how to perform traditional troubleshooting in PowerShell using the debugging features of the console and the ISE, along with other techniques. It wraps up with an example of how using the wrong PowerShell feature to perform an operation can lead to poor performance.
Chapter 8, PowerShell Code Smells, explains the concept of code smells (signs of poorly implemented code) and compares it with antipatterns, best practices, and technical debt. It then shows some ways that PowerShell code might begin to smell.