The DSC Book [Forever Edition [2018-12-18]]

Microsoft MVP Award recipient Don Jones and in-the-trenches DSC expert Missy Januszko tackle the enormous and complex to

589 41 9MB

English Pages 148 Year 2018

Report DMCA / Copyright

DOWNLOAD FILE

The DSC Book [Forever Edition [2018-12-18]]

Table of contents :
Table of Contents
About This Book
About the Authors
Feedback
A Note on Code Listings
Code Samples
Introduction
What is DSC?
Not Just for Provisioning
How Does DSC Compare to Group Policy?
Cattle, Not Pets
Technology, not Tool
A 2018 Update: What is DSC Good For?
Part 1: Design Decisions
Designing DSC
The Players
The Pieces
The CIM Connection
Uniqueness in MOFs
Getting the MOF to the LCM
Configuration Variations
Understanding Dependencies
Part 2: Configuring the Infrastructure
Infrastructure Prerequisites
Configuring the LCM
Checking the Configuration
Changing the Configuration
Deploying the LCM Configuration
Specifying Configuration Pull Servers
Specifying DSC Resource Pull Servers
Specifying Reporting Servers
Partial Configurations
Versions and Troubleshooting
Setting Up a Pull Server
Before You Begin
Reprising the Roles
A Word of Caution
Step 1: Install the Module
Step 2: Get an SSL Certificate
Step 3: Make a GUID
Step 4: Set Up DSC
Step 5: Run and Deploy the Config
Confirming the Setup
Life Choices
Opting Out of the Pull Server Approach
Part 3: Testing the Infrastructure
Testing Push Mode
Creating the Configuration
Running the Configuration to Produce a MOF
Pushing the MOF
Testing Pull Mode
Creating the Configuration
Running the Configuration to Produce a MOF
Deploying the MOF and Module to a Pull Server
Creating a Meta-Configuration
Pushing the Meta-Configuration to a Node
Pulling the Configuration from the Pull Server
Verifying the Node's State
Part 4: Authoring Configurations
Basic Configuration Authoring
Getting Started: The Configuration Block
Adding Nodes
Adding a Parameter Block
Adding Settings
Adding Basic Logic
Adding Node-Side Logic
Documenting Dependencies
Running the Configuration
Deploying the MOF
Wrapping Up
Going Further with Configurations
Again: DSC isn't Tooling
Understanding ConfigurationData
Defining Configuration Data
Referencing and Using Configuration Data
All-Nodes Data
Using the $AllNodes Variable
Configuration Script Strategies
Using NonNodeData
Poor Man's Configuration Modularization
Dot Sourcing
Approach Analysis
Composite Configurations
Creating a Composite Resource
Turning the Configuration into a Resource Module
Using the Composite Resource
Deploying the Composite Resource
Approach Analysis
Design Considerations
Partial Configurations
Summarizing Partial Configuration Pros and Cons
Authoring a Partial Configuration MOF
Configuring the LCM for Partial Configurations
Partial Configuration Dependencies
Partial Configuration Authoritative Resources
Mix `n' Match
File Naming Details
Deploying MOFs to a Pull Server
Part 5: Using and Authoring Resources
Finding and Using Resources
Finding What's Out There
Installing What's Out There
Finding What's Installed
Figuring Out What a Resource Wants
Custom Resources
Before We Begin: Function-Based vs. Class-Based
Writing the Functional Code
Writing the Interface Module
Preparing the Module for Use and Deployment
Triggering a Reboot
Class-Based Custom Resources
Writing the Class-Based Interface Module
Preparing the Module for Use
Best Practices for Resource Design
Principle One: Resources are an Interface
Thinking About Design
For Example
Advantages of the Approach
Disadvantage of the Approach
The Script Resource
The Basics
Cool Tricks
Part 6: Advanced Stuff
Reporting
Understanding the Default Report Server
Querying Report Data
The AgentId
Security and DSC
A Word on Certificates
Securing the Pull Server
Securing Credentials in Configurations
PSDSCRunAsCredential
Digital Signing
DSC in Azure
DSC on Linux
Troubleshooting and Debugging
Getting Eyes-On
Resource Debugging
Stopping a Hung LCM
Self-Modifying Configurations
Understanding the LCM's Processing
The Basic Self-Modifying Workflow
Options
A Problem to Consider
Crazy Ideas for What the Bootstrap Can Do
The Scaling Question
DSC Already Scales - But You Don't
Let's Set the Stage
Raise Cattle, Not Pets
Enter Containers
Rock-Solid Infrastructure
Getting Back to DSC
The Perfect Example
LCM and Pull Server Communications
The Database
Known Problems
Error configuring the LCM: ``Specified Property does not exist,'' ``MI RESULT 12''
Registration Key Problems
maxEnvelopeSize Errors
Reporting Server and Large Configurations
Class-Based Resources Can't be ExclusiveResources in Partials

Polecaj historie