PowerShell DSC Resource for configuring Pull Server environment
UPDATE 2/6/2018 – The latest information regarding DSC Pull Service can be found in the DSC documentation using the link – https://docs.microsoft.com/en-us/powershell/dsc/pullserver
DSC is a PowerShell extension that is part of Windows Server 2012 R2 and Windows 8.1. DSC enables deploying and managing configuration data for software services and managing the environment in which these services run.
A DSC Pull Server is a web-based endpoint, with an OData interface. This server allows nodes to “Pull” Configuration such as providers on a periodic basis. This functionality is useful in environments where there are a large number of target nodes to configure, and where the target nodes need the right configuration as they come online, and to check periodically for configuration updates.
The “Pull” mechanism is a highly scalable mechanism to deploy specific environments on machines.
This blog is about the process of setting up a Pull Server using a DSC configuration.
DSC Configuration and Resource:
The following configuration enables to setup a Pull/Compliance Server at a specified IIS endpoint (Port/Web-Site Name). There is capability to setup HTTP/HTTPS based endpoints.
MOF for the DSC Resource:
Module that implements the DSC *-TargetResource cmdlets:
Module for setting up a Management OData (PSWS) IIS Endpoint – Required for Pull Server:
Here is a walkthrough of setting up a Pull Server on a Windows Server machine.
1) Unzip DSCPullServerConfiguration.zip to $env:systemdrive
2) Deploy DSC Resources (module that implements DSC *-TargetResource cmdlets, MOF etc) to Program Files
3) Run the configuration to setup Pull and Compliance Server OData-IIS endpoints
(Note: This sample generates a self-signed cert –using makecert.exe for the HTTPS endpoint)
4) Navigate to the Pull Server OData IIS endpoint
That’s it! Your Pull Server is ready for use.
Updated on 12/27/2013: Removing the older version of resource. For most recent version, go here
Thanks, Raghu Shantha [MSFT]