Veteran PowerShell experts and authors Don Jones and Jeffery Hicks bring you an all-new, "Agile-published" boo
878 183 3MB
English Pages 519 Year 2020
Table of contents :
About This Book
Dedication
Acknowledgements
About the Authors
Foreword
Feedback
Introduction
A Note on Code Listings
Lab Setup
Part 1: Review PowerShell Toolmaking
Functions, the Right Way
PowerShell Tool Design
Start with a Command
Build a Basic Function and Module
Adding CmdletBinding and Parameterizing
Emitting Objects as Output
An Interlude: Changing Your Approach
Using Verbose, Warning, and Informational Output
Comment-Based Help
Handling Errors
Basic Debugging
Verify Yourself
Part 2: Professional-Grade Toolmaking
Going Deeper with Parameters
Advanced Function Tips and Tricks
Dynamic Parameters
Writing Full Help
Unit Testing Your Code
Extending Output Types
Advanced Debugging
Command Tracing
Analyzing Your Script
Controlling Your Source
Converting a Function to a Class
Publishing Your Tools
Part 3: Controller Scripts and Delegated Administration
Basic Controllers: Automation Scripts and Menus
Graphical Controllers in WPF
Proxy Functions
Just Enough Administration: A Primer
PowerShell in ASP.NET: A Primer
Part 4: The Data Connection
Working with SQL Server Data
Working with XML Data
Working with JSON Data
Working With CSV Data
Part 5: Seriously Advanced Toolmaking
Tools for Toolmaking
Measuring Tool Performance
PowerShell Workflows: A Primer
Globalizing Your Tools
Using “Raw” .NET Framework
Scripting at Scale
Scaffolding a Project with Plaster
Adding Auto Completion
Adding Custom Formatting
Adding Logging
Toolmaking Tips and Tricks
Part 6: Pester
Why Pester Matters
Core Pester Concepts
Writing Testable Code
What to Test
Describe Blocks
Context Blocks
It Blocks
Should and Assertions
Mocks
Pester’s TESTDRIVE
Pester for Infrastructure Validation
Measuring Code Coverage
Test-Driven Development
Part 7: PowerShell 7 Scripting
PowerShell 7 Scripting Features
Cross Platform Scripting
Wish List
Release Notes