DSC for "Golden Images"

Good morning!

Recently, there was a new Windows 10 update to 1803 (I’m sure you’re all aware of it by now) and we’d like to deploy this to our organization.

Currently, we use a program called SmartDeploy to capture and deploy images to new computers that we push out to the rest of the company.

Unfortunately, on any feature update, we have to download the new ISO for that feature update version and build a completely new VM to capture for this.

There are quite a bit of things that have to be done for this, and I feel like DSC would help me make things simpler. Obviously to install the programs I would use scripts, but to create the new VM, install Windows, and set the settings that I want within that installation, DSC seems like it would be the best choice, considering I could set DSC on the server and on the machine to make certain things always apply so that I know they are always there.

Would this work, or would anyone recommend doing something else instead?

Thanks!

Hi there Jaykeblakk,

You can in fact leverage DSC to build your machine. You could even use it to install the requisite software. I recently used DSC to build managed images in Azure. You could do it pretty easily on-prem as well.

Thanks for the reply.

How do you use DSC to install software? I know how to use it to install Windows features and to make certain things automatically correct themselves, but I wasn’t aware that I could install specific software with it.

Is there some resource you could point me to that I could look at to learn how to do this?

There are few resources that can help with installing softwares @ PSDscResources/DscResources at dev · PowerShell/PSDscResources · GitHub

Adam has also written a blog about it installing-software-with-powershell-dsc

Definitely, this can be done. I’m currently using DSC to build my “golden images” from scratch, with all the configurations and software installations they’ll need for my VDI farm. You can use the built-in Package resource, or I’ve had good experiences with using Chocolatey for this as well. I’m using Chocolatey for my builds, because it includes a package builder and some other helpful tools.

PackageResource: https://docs.microsoft.com/en-us/powershell/dsc/packageresource

Chocolatey website: https://chocolatey.org/
DSC module: GitHub - chocolatey/cChoco: Community resource to manage Chocolatey