PowerShell DSC for Linux is now available!

We are pleased to announce that PowerShell Desired State Configuration for Linux (version 1) is available for download. You can now use the powerful Desired State Configuration (DSC) platform to manage the configuration ofboth Windows and Linux workloads with a familiar PowerShell interface. Bringing DSC to Linux is another step in Microsoft’s broader commitment to common management of heterogeneous assets in your datacenter or the public cloud.

After reviewing the Getting Started guide, you can get DSC for Linux (rpm/deb packages) here; DSC depends on OMI server 1.0.8-1, which is available (rpm/deb packages) here. If you’re not currently familiar with DSC, the overviewdocumentation is a good place to start.

Automatic protection against configuration drift (controlled by the ConfigurationMode options in the Meta Configuration)

Built-In Linux Resources Overview

nxArchive:ensure that an archive (.tar, .zip) is extracted to a destination directory whenever the archive file is updated. This is particularly useful in continuous deployment scenarios.

nxEnvironment: manage environment variables

nxFile: manage files and directories. Control permissions (mode) and the existence of files or directories, sync the contents of a directory or file from a source to a destination, define the contents of a file, and more. The source for synchronization options can be a local path or an HTTP, HTTPS, or FTP URL for centralized distribution of configuration files or application content.

nxFileLine: ensure that a file contains a specific line and/or does not contain lines matching a given pattern. This is very useful for setting application or operating system configuration in configuration files.

nxGroup: manage local Linux user groups.

nxPackage: manage the installation state for Linux packages. Packages can be managed through the computer’s package manager (Yum, Apt, Zypper) or with standalone (.rpm/.deb) packages from a local path or FTP or web site.

nxScript: manage configuration with custom scripts.

nxService:manage services (daemons) and control their enabled and current run states

We are working on the first wave of Linux-specific resources to join the Resource Kit released on GitHub and the PowerShell Gallery. While we are currently unable to accept pull requests on GitHub for the Linux Local Configuration Manager or BuiltIn Resources, we do encourage contribution of Linux resources. At this time, Linux resources are limited to native resources (C/C++) and we will provide further development guidance on this shortly.

Nice. For a largely Windows shop with a small amount of Linux, this is a great opportunity. Why would I want to install Chef on all my windows machines, then write Ruby to shell out to powershell? That's a pretty terrible solution, so this works great for me. Thanks guys!