WebAPI and website to manage the on-premises DSC pull server artifacts like nodes, modules and configurations.
The DSCPullServerWeb PowerShell module provides an extension to an on-premises DSC Pull Server. It will provide a user-friendly website to manage modules and configurations as well as show all registered nodes and their reports.
In addition, the website provides a REST API. The website UI itself uses the REST API to interact with the DSC Pull Server. The REST API can be called directly or throught the provided PowerShell cmdlets. The cmdlets mock all API functions.
The following minimum requirements are necessary to use this module:
- Windows PowerShell 5.0
- Windows Server 2012 R2
- DSC Pull Server with ESENT database
With PowerShell 5.0, the new PowerShell Gallery was introduced. Additionally,
the new module PowerShellGet was added to the default WMF 5.0 installation.
With the cmdlet Install-Module
, a published module from the PowerShell Gallery
can be downloaded and installed directly within the PowerShell host, optionally
with the scope definition:
Install-Module DSCPullServerWeb [-Scope {CurrentUser | AllUsers}]
Alternatively, download the latest release from GitHub and install the module manually on your local system:
- Download the latest release from GitHub as a ZIP file: GitHub Releases
- Extract the module and install it: Installing a PowerShell Module
The DSC Pull Server website can be installed with the embedded DSC resource. Refer to the following example to install the website on your DSC pull server: DscPullServerWeb_Configuration.ps1
-
Get-DSCPullServerIdNode
Returns all ConfigurationID nodes from a DSC Pull Server. -
Get-DSCPullServerNamesNode
Returns all ConfigurationNames nodes from a DSC Pull Server. -
Get-DSCPullServerReport
Returns all reports from a DSC Pull Server. -
Get-DSCPullServerConfiguration
Returns MOF configurations from a DSC Pull Server. -
Save-DSCPullServerConfiguration
Save a MOF configuration from the DSC Pull Server to the local system. -
Publish-DSCPullServerConfiguration
Publish a MOF configuration to a DSC Pull Server. -
Unpublish-DSCPullServerConfiguration
Unpublish an existing MOF configuration from a DSC Pull Server. -
Update-DSCPullServerConfigurationChecksum
Update a MOF configuration checksum on a DSC Pull Server. -
Get-DSCPullServerModule
Returns PowerShell modules from a DSC Pull Server. -
Save-DSCPullServerModule
Save a PowerShell module from the DSC Pull Server to the local system. -
Publish-DSCPullServerModule
Publish a PowerShell module to a DSC Pull Server. -
Unpublish-DSCPullServerModule
Unpublish an existing PowerShell module from a DSC Pull Server. -
Update-DSCPullServerModuleChecksum
Update a PowerShell module checksum on a DSC Pull Server.
Please find all versions in the GitHub Releases section and the release notes in the [CHANGELOG.md] file.
Please feel free to contribute by opening new issues or providing pull requests. For the best development experience, open this project as a folder in Visual Studio Code and ensure that the PowerShell extension is installed.
This module is tested with the PowerShell testing framework Pester. To run all
tests, just start the included test script .\Scripts\test.ps1
or invoke Pester
directly with the Invoke-Pester
cmdlet. The tests will automatically download
the latest meta test from the claudiospizzi/PowerShellModuleBase repository.
To debug the module, just copy the existing .\Scripts\debug.default.ps1
file
to .\Scripts\debug.ps1
, which is ignored by git. Now add the command to the
debug file and start it.
This module has been inspired by grayzu and his presentation at the PowerShell Summit EU 2015 about the DSCPullServerUI in the What's Up with the DSC Pull Server session.