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)

DSC Configuration Files

"Success is not final, failure is not fatal: it is the courage to continue that counts."
- Winston S. Churchill

Throughout the first two chapters, we covered the foundations of configuration management and how DSC works using them. We delved inside the innards of DSC, covering the inner architecture and how the various pieces work together to maintain the state of your environment. By this point, you should have a solid understanding of the what and the why, and now we start understanding the how. We will address the core interface or API you will use with DSC: the DSC configuration script.

In this chapter, we will cover the following topics:

  • Defining a DSC configuration script file
  • Defining a DSC configuration data file
  • Creating reusable DSC configurations
  • Debugging and troubleshooting configuration script files