Reusing #PSDSC Node Configuration with Nested Configurations - the Horror!

When you are designing node configuration of increasing complexity, you will soon realize that some elements should be easily reusable to clean up your code and prevent duplicate code. Although Microsoft provides an introduction to reusing configurations, it does not properly document the poor state of nested configurations in PowerShell 4.0. In this post I will explain how those work and what caveats to expect from them.

Participate in the Project VRC "State of the VDI and SBC Union 2015" Survey

In 2009, Ruben Spruijt ([@rspruijt] and Jeroen van de Kamp ([@thejeroen( started Project Virtual Reality Check (Project VRC). Since then, they have published numerous, valuable whitepapers with performance results and best practices with regard to different hypervisors, application virtualization solutions, Windows operating systems, antivirus solutions and Microsoft Office versions.

Download Script for all #PSDSC Resources on TechNet

In the announcement of wave 9 of the resource kit for PowerShell Desired State Configuration, the PowerShell team states that improvements will be published to the individual resources instead of waiting for the next wave. This got me thinking whether I really wanted to check the growing number of DSC resource individually. That’s why I created a download script to fetch all of them from TechNet.

How to Pass Configuration Data to a Node Configuration in #PSDSC

You are probably using a regular PowerShell script to compile your node configurations into MOF files. If you are using configuration data instead of parameters, you need to pull it into your script to pass it on to the node configuration. There are two very different approaches to this.

Preparing a #PSDSC Meta Configuration MOF For Injection

The Meta Configuration in PowerShell Desired State Configuration (DSC) contains the parameters for the Local Configuration Manager (LCM). Before a meta configuration can be injected into a virtual machine a small section must be removed from the MOF file. This post contains two functions automate this process

Approaches to GUID Management in #PSDSC Pull Mode

In large deployments using PowerShell Desired State Configuration (DSC) it is inevitable to implement a pull server because of the centralized configuration management. The nodes connecting to a pull server are identified by a globally unique identifier (GUID). Those GUIDs are - for a start - entirely independent from the hostname. I will present several approaches to managing the GUIDs used for DSC nodes.

Designing Node Configurations in PowerShell DSC

If you are planning to use PowerShell Desired State Configuration on a larger scale you need to take a step back and think about the design of your node configurations. In this post I will give you some hints how to approach this.

Deploying PowerShell DSC Resources using Push Mode

If you are using push mode for PowerShell Desired State Configuration you will be dearly missing that modules can be dynamically loaded when they are needed. The following example demonstrates how to deploy all resources from the current wave. It only uses resources contained in PowerShell 4.0.

Why Injecting a PowerShell DSC Meta Configuration is not Enough

In a previous post I described how to inject the meta as well as the node configuration. As it is, the Local Configuration Manager (LCM) does not create the scheduled tasks necessary to apply, monitor and correct the configuration. In this post I will explain how to make sure that LCM kicks off.

Handling Plain Text Credentials in PowerShell DSC

Many resources for Desired State Configuration require credentials to successfully execute the specified task. For example, if you are copying files or directories using the file resource, the Local Configuration Manager needs appropriate credentials to access the source location. This is a crucial requirements when the configuration is applied on a workgroup host and the source location is inaccessible by the system account. In this post, I will explain how to use credentials in the configuration.