Monthly Archive

Categories

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

Merry Christmas from the PowerShell team

The PowerShell team have produced wave 9 of the DSc resource kit – just in time for Christmas - http://blogs.msdn.com/b/powershell/archive/2014/12/17/another-holiday-present-from-the-powershell-team-dsc-reskit-wave-9.aspx

This wave contains a number of new resources and some updates to existing resources including the Exchange resource.

You can download the latest version of the resource kit from  https://gallery.technet.microsoft.com/DSC-Resource-Kit-All-c449312d

The team’s blog post states that you should check for the GA update (which is minimum requirement for running the DSC res kit) by testing to see if KB2883200 is installed. This won’t work if you’ve built you system using Windows media that incorporates the update.

A better test is to look at the build number. It should be 9400 or higher. You can see this by using $psversiontable

£> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.34014
BuildVersion                   6.3.9600.17400
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2

The version is  6.3.9600.17400  where 6.3 = Windows 2012 R2 and 9600 = the build

You can also use WMI

£> Get-CimInstance -ClassName Win32_Operatingsystem | Format-List BuildNumber, Version

BuildNumber : 9600
Version     : 6.3.9600