Monthly Archive

Categories

DSC

DSC–the future?

I was incredibly excited when I first saw DSC – it was in April 2013 as a special MVP only preview at the first PowerShell Summit – as a work in progress. Since that time my excitement has waned to the point that I now ask DSC – the future?

 

Looking at the PowerShell Team announcement about the introduction of DSC core - https://blogs.msdn.microsoft.com/powershell/2017/09/12/dsc-future-direction-update/

I have to question if a complete new version of DSC is worth my time investigating especially when backward compatibility isn’t guaranteed.

 

Don Jones has question where DSC is going - https://powershell.org/2017/09/13/the-future-of-powershells-desired-state-configuration/

 

Overall, I’d say that DSC has had a mixed success since its introduction due to changes and the difficulty around preforming some activities. The integration with Azure hasn’t been smooth.

Is it time to look at another configuration tool set. Microsoft’s  current rush to embrace Linux may make Chef or Puppet a better option for you. Read the comments on the PowerShell Team announcements to see what other people think about DSC.

Build a better pull server

DSC functions in 2 modes – push (most basic) and pull. Creating a pull server is a non-trivial task and the out-of-the-box pull server has some issues. Some of the folks at powershell.org have decided its time to build a better pull server.

There’s a project on github that supplies the code for the open source, cross platform, pull server project known as tug.  pull – tug – pull… you get the picture.

You can find the project at https://github.com/PowerShellOrg/tug

If you’re using DSC download it, give it a try and feed back to the project what you’ve discovered. 

DSC Configuring Sharing

A new set of repositories on Github document a process for sharing end-to-end scenario based DSC configurations

 

https://blogs.msdn.microsoft.com/powershell/2017/04/28/dsc-configuration-sharing/

 

These are open to community involvement

September 2016–DSC Resource updates

Two new modules of DSC resources are available:

OfficeOnlineServerDsc

SystemLocaleDsc

 

A number of updates to existing resources have been made available.

 

Details from https://blogs.msdn.microsoft.com/powershell/2016/09/21/dsc-resource-kit-september-release/

Open source PowerShell and OMI

OMI – the Open Source CIM server is available on github

https://github.com/Microsoft/omi

This appears to be a later version than currently shown on the open group web site

 

Combine this with open source PowerShell

https://github.com/PowerShell/PowerShell

 

and the DSC on Linux

https://github.com/Microsoft/PowerShell-DSC-for-Linux

 

And you have your basis for managing Linux machines

DSC and Nano Server

Nano Server is the minimalist version of Windows that Server 2016 introduces. I needed a target for DSC this afternoon so decided that I’d spin up a Nano Server instance – because they are very, very quick to create.

 

Unfortunately, Nano Server doesn’t support DSC out of the box. The ROOT\Microsoft\Windows\DesiredStateConfiguration CIM namespace isn’t available for instance.

You need to add the DSC bits when you create your Nano server – use

-Packages Microsoft-NanoServer-DSC-Package

 

on New-NanoServerImage when you generate the Nano server virtual disk.

 

see https://msdn.microsoft.com/powershell/dsc/nanodsc

 

for current restrictions and limitations of DSC on Nano server

DSC resource kit update–October 2015

The DSC resource kit is the primary place to look for DSC resources beyond those baked into Windows.

 

An update to the resources in the kit has been announced. Some new resources and lots of bug fixes.

 

see http://blogs.msdn.com/b/powershell/archive/2015/10/23/dsc-resource-kit-updates-are-here.aspx

for details

PowerShell DSC for Linux 1.1

PowerShell DSC for Linux 1.1 has been released.

 

http://blogs.msdn.com/b/powershell/archive/2015/09/30/powershell-dsc-for-linux-version-1-1-is-now-available-and-new-linux-resources.aspx

 

With bug fixes, support for the separation of configuration and node ids  and new resources this release makes it easier than ever to manage your Linux boxes through DSC

DSC validation

The PowerShell team are asking for validation and feedback on the DSC features in WMF 5.0 - http://blogs.msdn.com/b/powershell/archive/2015/07/06/validate-features-of-powershell-dsc.aspx

 

First up is the PowerShell DSC RunAsCredential - http://blogs.msdn.com/b/powershell/archive/2015/07/06/validate-powershell-dsc-runascredential.aspx

 

Other features will be explained and your validation solicited over the course of this week

PowerShell DSC for Linux

PowerShell DSC for Linux has moved out of CTP and v1 is available for download from http://www.microsoft.com/en-us/download/details.aspx?id=46919

 

You will find more details at http://blogs.msdn.com/b/powershell/archive/2015/05/06/powershell-dsc-for-linux-is-now-available.aspx

 

You will need to download OMI version 1.0.8-1 which is available from https://collaboration.opengroup.org/omi/documents.php?action=show&dcat=&gdid=32721

 

OMI has to be installed on the Linux box before the DSC package

 

A useful getting started guide is available https://technet.microsoft.com/en-us/library/mt126211.aspx

 

I demonstrated DSC for Linux at the recent PowerShell Summit NA 2015

https://www.youtube.com/watch?v=X5igUenOJiU&index=30&list=PLfeA8kIs7CochwcgX9zOWxh4IL3GoG05P

 

though things have changed a bit since I built that demo environment using the DSC for Linux CTP. I’m going to rebuild my Linux box with the new bits and give it a whirl.

 

Being able to manage Windows and Linux environments through the same techniques, and in some cases the same DSC configurations is a big step forward