PowerShell Desired State Configuration Resources for real production workload.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



DSC Resources published by Grani.Inc.

Notice : 1st/July/2016

Repository name changed from DSCResources to GraniResource to simplify code management.


You can retrieve Resource through PoweShellGet.

Install-Module GraniResource

Where can I see how to usage of DSCResource?

You may find README.md inside DSCResource\ResourceNameFolder\README.md.

What Inside?

ResourceName FriendlyName Description
cWebPILauncher cWebPILauncher Install WebPlatformInstaller itself
Grani_ACL cACL Allow you to manage ACL entries with this resource.
Grani_CredentialManager cCredentialManager All you to manageCredential Manager entry.
Grani_DomainJoin cDomainJoin Join/Unjoin Domain Resource. This free you from xComputerManagement resource force to specify Host Computer name.
Grani_DotNetFramework cDotNetFramework Manage .NET Framework offline file install/uninstall.
Grani_Download cDownload Download Remote file to local. This include file hash comparison for detecting file change.
Grani_GitHubApiContent cGitHubApiContent Download GitHub content to local through API. This include file hash comparison for detecting file change.
Grani_HostsFile cHostsFile Operate hosts file entry with configuration.
Grani_InheritACL cInheritACL Manage NTFS AccessRule Inheritance. Use cACL to manage each access rules for further usage.
Grani_PendingReboot cPendingReboot Allow you to handle reboot with configuration both LocalConfigurationManager RebootNodeIfNeeded setting as $true/$false.
Grani_PfxImport cPfxImport Import Pfx file into desired CertStore / or Remove pfx from CertStore.
Grani_RegistryKey cRegistryKey Allow you to handle Registry SubKey with Configuration.
Grani_S3Content cS3Content Download and track change with S3 Object and Local File.
Grani_ScheduleTask cScheduledTask Enable you to configure Schedule Task. (Not all property supported, but quiet a lot.)
Grani_ScheduleTaskLog cScheduledTaskLog Enable/Disable Scheduled Task Log
Grani_SymbolicLink cSymbolicLink Create/Remove SymbolicLink.
Grani_TCPAckFrequency cTCPAckFrequency Enable/Disable TCPAckFrequency
Grani_TopShelf cTopShelf Install/Uninstall TopShelf Application
Grani_WebPI cWebPI Install WebPlatformInstaller Products(You cannot uninstall from WebPI)

Directory Tree

DirectoryName Description
Designer Contains xDSCResourceDesigner script to create *.schame.mof and *.psm1.
DSCResource Contains DSC Resource source code.
Package Contains Zip file for release tags.
Test Contains Pester and Configuration Tests for each DSC Resource.

How to release new version

Creating new package zip is Fully integrated with Visual Studio.

  1. Open GraniResource.Sln with Visual Studio.
  2. Open Property for DSCResources.
  3. Go to Assembly Information.
  4. Increment Assetmbly version. This version will be automatically used in GraniResource.psd1 and zip file naming.
  5. Change Build setting to Release build and run build.
  6. Now you will find new DSC Module is created in TmpPackage\GraniResource, and zip file is created in Package\GraniResource_{AssemblyVersion}.zip.