This article is contributed. See the original author and article here.

Recently we released SharePoint v4.1. Unfortunately this version contained a bug which resulted is exceptions being thrown in some cases. That is why we had to release v4.2 a few days later. So make sure you are using that version!


A major addition to this release is the logging engine. When a resource is not in the desired state, the parameters that are not compliant are logged to a custom event log called SPDsc.


You can find the SharePointDsc v4.2 in the PowerShell Gallery!


NOTE: We can always use additional help in making SharePointDsc even better. So if you are interested in contributing to SharePointDsc, check-out the open issues in the issue list, check-out this post in our Wiki or leave a comment on this blog post.


Improvement/Fixes in v4.1/4.2:

  • SharePointDsc
    • Added Wiki generation to build task
    • Re-enabled Unit tests for Sharepoint 2016 and 2019
  • SPAppCatalog
    • Added more logging in the Get method to ease troubleshooting
  • SPServiceInstance
    • Added logic to wait for a service start/stop, to make sure no conflicts can occur because of the asynchronous nature of service instance starts.


  • SPProductUpdate
    • Updated Get method to display a Verbose message when the setup file is not found
  • SPWebAppPermissions
    • Changed Get method not to throw an exception when the web application cannot be found to prevent issue
  • SPWebAppSuiteBar
    • This resource does not work on SharePoint 2019. Changed resource to display a Verbose message when on 2019


  • SharePointDsc
    • Renamed custom event log to SPDsc to prevent event log naming issue.
    • Fixed an issue where Test-SPDscParameterState would throw an error due to duplicate keys when a desired value is of type CimInstance[] and multiple values are specified.
    • Fixed issue with logging to the custom event log where the event log wasn’t created correctly.
    • Fixed various unit tests for Sharepoint 2016 and 2019
    • Corrected export of Get-SPDscInstalledProductVersion function, which is used by ReverseDsc
  • SPConfigWizard
    • Fixed a call to Get-SPFarm without loading the snap-in first
  • SPInstallLanguagePack
    • Fixed issue with detection of Chinese language pack in SharePoint 2019
  • SPSearchTopology
    • Fixed issue where an issue was thrown when the FirstPartitionDirectory didn’t exist on the local server (which isn’t always required)
  • SPSite
    • Fixed issue where the default groups were checked, even though that parameter wasn’t specified in the config
    • Fixed issue where the Get method threw an error when the site owner was still in classic format (caused by an earlier migration).
  • SPTrustedSecurityTokenIssuer
    • Fixed incorrect storing the default value of IsTrustBroker in the Set and Test method


  • SharePointDsc
    • Removed returning the InstallAccount parameter from all Get methods. These are not used and only add noise during troubleshooting

A huge thanks to the following guys for contributing to this project:
Jens Otto Hatlevold


Also a huge thanks to everybody who submitted issues and all that support this project. It wasn’t possible without all of your help!


For more information about how to install SharePointDsc, check our


Let us know in the comments what you think of this release! If you find any issues, please submit them in the issue list on GitHub.


Happy SharePointing!!

Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.

%d bloggers like this: