Import-DscResource Warning Message in WMF 5.0 April 2015 Preview

The latest version of the Microsoft Windows Management Framework (WMF) Core 5.0 package has some improvements to the PowerShell and Desired State Configuration (DSC) experience. One of those improvements is a warning message that will appear, if you do not use the Import-DscResource dynamic keyword to import the PSDesiredStateConfiguration module. The warning message appears when … Read moreImport-DscResource Warning Message in WMF 5.0 April 2015 Preview

Dog Food Conference 2014 Session Materials (DSC, Azure, PowerShell)

Trevor Sullivan presenting at Dog Food Conference 2014 in Columbus, Ohio on September 30th, 2014. Photo taken by Keith Mayer (Microsoft).
Trevor Sullivan presenting at Dog Food Conference 2014 in Columbus, Ohio on September 30th, 2014. Photo taken by Keith Mayer (Microsoft).

Some of you may have heard my present at Dog Food Conference in September 2014. I’d like to first say thank you to the organizers of Dog Food Conference, for having me out to speak. I’d especially like to thank Ryan Dennis from Blue Chip Consulting LLC, who contacted me on Twitter and invited me to submit sessions for the conference. You can follow Ryan on Twitter at @SharePointRyan, or visit his website at SharePointRyan.com.

At Dog Food Conference, I presented two different sessions.

Read moreDog Food Conference 2014 Session Materials (DSC, Azure, PowerShell)

Use PowerShell DSC to Install DSC Resources

IMPORTANT: This post was authored in August 2014, and is out of date. At this point, you should be installing PowerShell DSC resources from the PowerShell Gallery, using the PowerShellGet\Install-Module command.

Introduction

A lot of the functionality provided by Microsoft PowerShell Desired State Configuration (DSC) comes, not from the core product, but from the DSC Resources that are provided by Microsoft and the community. When you spin up a new Windows operating system, whether a physical machine, local virtual machine, or a Microsoft Azure virtual machine, you start out with a pretty barebones set of DSC resources. Those resources are listed here:

  • File
  • Archive
  • Environment
  • Group
  • Log
  • Package
  • Registry
  • Script
  • Service
  • User
  • WindowsFeature
  • WindowsProcess

Unfortunately, most people are going to need more capabilities than what is offered out of the box. To that end, Microsoft has been regularly providing “waves” of DSC resources to manage a variety of different applications. As of this article’s writing, the latest wave of DSC resources from Microsoft was “DSC Wave 6,” published on August 21, 2014. During the remainder of this article, our goal is to make sure that these additional DSC Resources are installed on our systems, in an automated fashion!

Read moreUse PowerShell DSC to Install DSC Resources

Use PowerShell DSC to Enable Screencast Recording on Azure VMs

Do you ever record screencasts, and post them to YouTube, or some other video sharing site? Well, maybe you do, maybe you don’t, but I sure do (when I find time)! For the sake of simplicity, I use an older, free Microsoft tool called Expresion Encoder 4.0 with Service Pack 2 (SP2). You can download it, again for free, from here! In some cases, it might be preferable to invoke screencast recording on a remote session, rather than recording on your local computer, however. In this post, we will take a look at how to use PowerShell Desired State Configuration (DSC) to automatically install Microsoft Expression Encoder 4.0 SP2 onto cloud-hosted Microsoft Azure Virtual Machines!

Unless you’re a MSDN subscriber, with access to Windows 8.1 VM images in Azure, most of your Azure Virtual Machines will be running some class of Windows Server. In this case, we’ll be using a Windows Server 2012 R2 VM. The first thing to point out is that Windows Server 2012 R2 requires the “Desktop-Experience” Windows Feature to be installed, in order to successfully run Microsoft Expression Encoder 4 SP2. If this Windows Feature isn’t installed, you’ll get a nasty error telling you that wmvcore.dll is missing, when you try to run the Expression Encoder program.

While working with Expression Encoder in Azure, one limitation you’ll want to keep in mind is that Expression Encoder has a problem rendering your screencast content inside the editor. So, if you want to make any modifications to your screencast, after you’ve recorded it, you’ll have to download the content locally onto your computer.

With all of that out of the way, let’s get DS-configuring! The first thing we need to do is ensure that the “Desktop-Experience” Windows Feature is installed. To do that, we will use the built-in WindowsFeature DSC resource. To start building our configuration, let’s use this code:

Read moreUse PowerShell DSC to Enable Screencast Recording on Azure VMs