Book Image

Learning PowerShell DSC - Second Edition

By : James Pogran
Book Image

Learning PowerShell DSC - Second Edition

By: James Pogran

Overview of this book

The main goal of this book is to teach you to configure, deploy, and manage your system using the new features of PowerShell v5/v6 DSC. This book begins with the basics of PowerShell Desired State Configuration, covering its architecture and components. It familiarizes you with the set of Windows PowerShell language extensions and new Windows PowerShell commands that make up DSC. Then it helps you create DSC custom resources and work with DSC configurations with the help of practical examples. Finally, it describes how to deploy configuration data using PowerShell DSC. Throughout this book, we will be focusing on concepts such as building configurations with parameters, the local configuration manager, and testing and restoring configurations using PowerShell DSC. By the end of the book, you will be able to deploy a real-world application end-to-end and will be familiar enough with the powerful Desired State Configuration platform to achieve continuous delivery and efficiently and easily manage and deploy data for systems.
Table of Contents (9 chapters)

Defining a DSC configuration script file

Now that we're past the abstract concepts and the explanatory architecture, we can start addressing how to use DSC in real-world situations. Thus far in the book, we have been referring to the DSC configuration script files without really getting into the details of what they are. There isn't a specific file or file extension called a DSC configuration script file, it's the term used to describe the PowerShell script file that defines a special type of function: configuration.

You should be familiar with the general format of a DSC configuration block, as we have covered a few examples so far. Here is a simple one we will use as we move through the chapter. We will expand it to perform more advanced configurations and update it to allow multiple target nodes and use external configuration data:

Configuration InstallExampleSoftware...