DSC Resource Kit Release December 2017

We just released the DSC Resource Kit!

This release includes updates to 16 DSC resource modules. In these past 5 weeks, 68 pull requests have been merged and 59 issues have been closed, all thanks to our amazing community!

The modules updated in this release are:

  • OfficeOnlineServerDsc
  • SecurityPolicyDsc
  • SharePointDsc
  • SqlServerDsc (previously xSqlServer)
  • SystemLocaleDsc
  • xAdcsDeployment
  • xCertificate
  • xComputerManagement
  • xExchange
  • xHyper-V
  • xNetworking
  • xPowerShellExecutionPolicy
  • xRemoteDesktopSessionHost
  • xStorage
  • xSystemSecurity
  • xTimeZone

For a detailed list of the resource modules and fixes in this release, see the Included in this Release section below.

Our last community call for the DSC Resource Kit was today on December 20. A recording of our updates as well as summarizing notes will be available soon. Join us for the next call at 12PM (Pacific time) on January 31 to ask questions and give feedback about your experience with the DSC Resource Kit.

We strongly encourage you to update to the newest version of all modules using the PowerShell Gallery, and don’t forget to give us your feedback in the comments below, on GitHub, or on Twitter (@PowerShell_Team)!

All resources with the ‘x’ prefix in their names are still experimental – this means that those resources are provided AS IS and are not supported through any Microsoft support program or service. If you find a problem with a resource, please file an issue on GitHub.

Included in this Release

You can see a detailed summary of all changes included in this release in the table below. For past release notes, go to the README.md or Changelog.md file on the GitHub repository page for a specific module (see the How to Find DSC Resource Modules on GitHub section below for details on finding the GitHub page for a specific module).

Module Name Version Release Notes
OfficeOnlineServerDsc 1.1.0.0
  • Added support for Language Packs installation;
SecurityPolicyDsc 2.2.0.0
  • Fixed bug in UserRightAssignment where Get-DscConfiguration would fail if it returns $Identity as single string
SharePointDsc 2.0.0.0
  • General
    • Added VSCode workspace settings to meet coding guidelines
    • Corrected comment in CodeCov.yml
    • Fixed several PSScriptAnalyzer warnings
  • SPAppManagementServiceApp
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPBCSServiceApp
    • Added custom Proxy Name support
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPBlobCacheSettings
    • Update to set non-default or missing blob cache properties
  • SPContentDatabase
    • Fixed localized issue
  • SPDesignerSettings
    • Fixed issue where URL with capitals were not accepted correctly
  • SPDistributedCacheService
    • Fixed issue where reprovisioning the Distributed Cache did not work
  • SPFarm
    • Implemented ToDo to return Central Admin Auth mode
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPInstall
    • Updated to document the requirements for an English ISO
  • SPInstallPrereqs
    • Updated to document which parameter is required for which version of SharePoint
    • Added SharePoint 2016 example
  • SPLogLevel
    • New resource
  • SPMachineTranslationServiceApp
    • Added custom Proxy Name support
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPManagedMetadataAppDefault
    • New resource
  • SPManagedMetadataServiceApp
    • Update to allow the configuration of the default and working language
    • Fixed issue where the termstore could not be retrieved if the MMS service instance was stopped
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPMinRoleCompliance
    • New resource
  • SPPerformancePointServiceApp
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPProjectServer
    • New resources to add Project Server 2016 support: SPProjectServerLicense, SPProjectServerAdditionalSettings, SPProjectServerADResourcePoolSync, SPProjectServerGlobalPermissions, SPProjectServerGroup, SPProjectServerTimeSheetSettings, SPProjectServerUserSyncSettings, SPProjectServerWssSettings
  • SPSearchContentSource
    • Fixed examples
  • SPSearchIndexPartition
    • Fixed to return the RootFolder parameter
  • SPSearchServiceApp
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPSearchTopology
    • Updated to better document how the resource works
    • Fixed issue to only return first index partition to prevent conflicts with SPSearchIndexPartition
  • SPSecureStoreServiceApp
    • Fixed issue with not returning AuditEnabled parameter in Get method
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPServiceAppSecurity
    • Fixed issue with NullException when no accounts are configured in SharePoint
  • SPStateServiceApp
    • Added custom Proxy Name support
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPSubscriptionSettings
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPTrustedRootAuthority
    • Updated to enable using private key certificates.
  • SPUsageApplication
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPUserProfileProperty
    • Fixed two NullException issues
  • SPUserProfileServiceApp
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPUserProfileSynConnection
    • Fix an issue with ADImportConnection
  • SPWeb
    • Update to allow the management of the access requests settings
  • SPWebAppGeneralSettings
    • Added DefaultQuotaTemplate parameter
  • SPWebApplicationExtension
    • Update to fix how property AllowAnonymous is returned in the hashtable
  • SPWebAppPeoplePickerSettings
    • New resource
  • SPWebAppPolicy
    • Fixed issue where the SPWebPolicyPermissions couldn’t be used twice with the exact same values
  • SPWebAppSuiteBar
    • New resource
  • SPWebApplication.Throttling
    • Fixed issue with where the RequestThrottling parameter was not applied
  • SPWordAutomationServiceApp
    • Fixed an issue where the instance name wasn’t detected correctly
  • SPWorkflowService
    • New resource

The following changes will break 1.x configurations that use these resources:

  • SPAlternateUrl
    • Added the Internal parameter, which implied a change to the key parameters
  • SPCreateFarm
  • SPJoinFarm
  • SPManagedMetadataServiceApp
    • Changed implementation of resource. This resource will not set any defaults for the keyword and site collection term store. The new resource SPManagedMetadataServiceAppDefault has to be used for this setting.
  • SPShellAdmin
    • Updated so it also works for non-content databases
  • SPTimerJobState
    • Updated to make the WebAppUrl parameter a key parameter. The resource can now be used to configure the same job for multiple web applications. Also changed the Name parameter to TypeName, due to a limitation with the SPTimerJob cmdlets
  • SPUserProfileProperty
    • Fixed an issue where string properties were not created properly
  • SPUSerProfileServiceApp
    • Updated to remove the requirement for CredSSP
  • SPUserProfileSyncService
    • Updated to remove the requirement for CredSSP
  • SPWebAppAuthentication
    • New resource
  • SPWebApplication
    • Changed implementation of the Web Application authentication configuration. A new resource has been added and existing properties have been removed
  • SPWebApplicationExtension
    • Updated so it infers the UseSSL value from the URL
    • Changed implementation of the Web Application authentication configuration. A new resource has been added and existing properties have been removed
SqlServerDsc (previously xSqlServer) 10.0.0.0
  • BREAKING CHANGE: Resource module has been renamed to SqlServerDsc (issue 916).
  • BREAKING CHANGE: Significant rename to reduce length of resource names
    • See issue 851 for a complete table mapping rename changes.
    • Impact to all resources.
  • Changes to CONTRIBUTING.md
    • Added details to the naming convention used in SqlServerDsc.
  • Changes to SqlServerDsc
    • The examples in the root of the Examples folder are obsolete. A note was added to the comment-based help in each example stating it is obsolete. This is a temporary measure until they are replaced (issue 904).
    • Added new common test (regression test) for validating the long path issue for compiling resources in Azure Automation.
    • Fix resources in alphabetical order in README.md (issue 908).
  • Changes to SqlAG
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
    • BREAKING CHANGE: The read-only property SQLServerNetName was removed in favor of EndpointHostName (issue 924). Get-TargetResource will now return the value of property NetName for the property EndpointHostName.
  • Changes to SqlAGDatabase
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
    • Changed the Get-MatchingDatabaseNames function to be case insensitive when matching database names (issue 912).
  • Changes to SqlAGListener
    • BREAKING CHANGE: Parameter NodeName has been renamed to ServerName (issue 308).
  • Changes to SqlAGReplica
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
    • BREAKING CHANGE: Parameters PrimaryReplicaSQLServer and PrimaryReplicaSQLInstanceName has been renamed to PrimaryReplicaServerName and PrimaryReplicaInstanceName respectively (issue 922).
    • BREAKING CHANGE: The read-only property SQLServerNetName was removed in favor of EndpointHostName (issue 924). Get-TargetResource will now return the value of property NetName for the property EndpointHostName.
  • Changes to SqlAlwaysOnService
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlDatabase
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes SqlDatabaseDefaultLocation
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlDatabaseOwner
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlDatabasePermission
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlDatabaseRecoveryModel
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlDatabaseRole
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlRS
    • BREAKING CHANGE: Parameters RSSQLServer and RSSQLInstanceName has been renamed to DatabaseServerName and DatabaseInstanceName respectively (issue 923).
  • Changes to SqlServerConfiguration
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlServerEndpoint
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlServerEndpointPermission
    • BREAKING CHANGE: Parameter NodeName has been renamed to ServerName (issue 308).
    • Now the examples files have a shorter name so that resources will not fail to compile in Azure Automation (issue 934).
  • Changes to SqlServerEndpointState
    • BREAKING CHANGE: Parameter NodeName has been renamed to ServerName (issue 308).
  • Changes to SqlServerLogin
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlServerMaxDop
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlServerMemory
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlServerNetwork
    • BREAKING CHANGE: Parameters SQLServer has been renamed to ServerName (issue 308).
  • Changes to SqlServerPermission
    • BREAKING CHANGE: Parameter NodeName has been renamed to ServerName (issue 308).
  • Changes to SqlServerRole
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
  • Changes to SqlServerServiceAccount
    • BREAKING CHANGE: Parameters SQLServer and SQLInstanceName has been renamed to ServerName and InstanceName respectively (issue 308).
SystemLocaleDsc 1.2.0.0
  • Added resource helper module.
  • Change examples to meet HQRM standards and optin to Example validation tests.
  • Replaced examples in README.MD to links to Example files.
  • Added the VS Code PowerShell extension formatting settings that cause PowerShell files to be formatted as per the DSC Resource kit style guidelines.
  • Opted into Common Tests “Validate Module Files” and “Validate Script Files”.
  • Converted files with UTF8 with BOM over to UTF8.
  • Updated Year to 2017 in License and Manifest.
  • Added .github support files:
    • CONTRIBUTING.md
    • ISSUE_TEMPLATE.md
    • PULL_REQUEST_TEMPLATE.md
  • Resolved all PSScriptAnalyzer warnings and style guide warnings.
xAdcsDeployment 1.4.0.0
  • xAdcsCertificateAuthority: CertFilePassword invalid type – fixes issue 36
xCertificate 3.1.0.0
  • xCertReq:
    • Fixed behaviour to allow certificate templates with spaces in the name
  • Added Documentation and Examples section to Readme.md file – see issue 98.
  • Changed description in Credential parameter of xPfxImport resource to correctly generate parameter documentation in Wiki – see Issue 103.
  • Changed description in Credential parameter of xCertReq resource to clarify that a PSCredential object should be used.
  • Updated tests to meet Pester V4 guidelines – fixes Issue 105.
  • Add support for Windows Server 2008 R2 which does not contain PKI module so is missing Import-PfxCertificate and Import-Certificate cmdlets – fixes Issue 46.
xComputerManagement 3.2.0.0
  • xScheduledTask:
    • Enable Execution Time Limit of task to be set to indefinite by setting ExecutionTimeLimit to “00:00:00” – See Issue 115
  • xPowerPlan:
    • Updated to meet HQRM guidelines.
    • Converted calls to throw to use New-InvalidOperationException in CommonResourceHelper.
  • Move Common Resource Helper functions into modules folder.
  • Changed resources to use Common Resource Helper functions.
  • Moved strings for Common Resource Helper functions into separate strings file.
  • Added unit tests for Common Helper functions.
xExchange 1.18.0.0
  • Fix issue 203 and add additional test for invalid ASA account format
xHyper-V 3.10.0.0
  • MSFT_xVMHyperV:
    • Added support for configuring automatic snapshots
xNetworking 5.4.0.0
  • MSFT_xIPAddressOption:
    • Added a new resource to set the SkipAsSource option for an IP address.
  • MSFT_xWeakHostSend:
    • Created the new Weak Host Send resource.
  • MSFT_xWeakHostReceive:
    • Created the new Weak Host Receive resource.
  • MSFT_xRoute:
    • Corrected style and formatting to meet HQRM guidelines.
    • Converted exceptions to use ResourceHelper functions.
    • Changed unit tests so that they can be run in any order.
    • Included default values in MOF file so that they are displayed in Wiki documentation.
    • Converted tests to meet Pester V4 standards.
xPowerShellExecutionPolicy 2.0.0.0
  • Converted appveyor.yml to install Pester from PSGallery instead of from Chocolatey.
  • Added optional -Scope parameter
xRemoteDesktopSessionHost 1.5.0.0
  • Fix issue where DSC configuration gets into a reboot loop because sessionhost does not match (casing) and RDMS service is not started in time
xStorage 3.4.0.0
  • xDisk:
    • Removed duplicate integration tests for Guid Disk Id type.
    • Added new contexts to integration tests improve clarity.
    • Fix bug when size not specified and disk partitioned and formatted but not assigned drive letter – See Issue 103.
  • xDiskAccessPath:
    • Added new contexts to integration tests improve clarity.
    • Fix bug when size not specified and disk partitioned and formatted but not assigned to path – See Issue 103.
xSystemSecurity 1.3.0.0
  • Updated FileSystemACL Set
xTimeZone 1.7.0.0
  • Added resource helper module.
  • Changed resource file names to include MSFT_*.
  • Added MSFT_ to MOF file classname.
  • Change examples to meet HQRM standards and optin to Example validation tests.
  • Replaced examples in README.MD to links to Example files.
  • Added the VS Code PowerShell extension formatting settings that cause PowerShell files to be formatted as per the DSC Resource kit style guidelines.
  • Opted into Common Tests “Validate Module Files” and “Validate Script Files”.
  • Converted files with UTF8 with BOM over to UTF8.
  • Updated Year to 2017 in License and Manifest.
  • Added .github support files:
    • CONTRIBUTING.md
    • ISSUE_TEMPLATE.md
    • PULL_REQUEST_TEMPLATE.md
  • Resolved all PSScriptAnalyzer warnings and style guide warnings.

How to Find Released DSC Resource Modules

To see a list of all released DSC Resource Kit modules, go to the PowerShell Gallery and display all modules tagged as DSCResourceKit. You can also enter a module’s name in the search box in the upper right corner of the PowerShell Gallery to find a specific module.

Of course, you can also always use PowerShellGet (available in WMF 5.0) to find modules with DSC Resources:

# To list all modules that are part of the DSC Resource Kit
Find-Module -Tag DSCResourceKit 
# To list all DSC resources from all sources 
Find-DscResource

To find a specific module, go directly to its URL on the PowerShell Gallery:
http://www.powershellgallery.com/packages/< module name >
For example:
http://www.powershellgallery.com/packages/xWebAdministration

How to Install DSC Resource Modules From the PowerShell Gallery

We recommend that you use PowerShellGet to install DSC resource modules:

Install-Module -Name < module name >

For example:

Install-Module -Name xWebAdministration

To update all previously installed modules at once, open an elevated PowerShell prompt and use this command:

Update-Module

After installing modules, you can discover all DSC resources available to your local system with this command:

Get-DscResource

How to Find DSC Resource Modules on GitHub

All resource modules in the DSC Resource Kit are available open-source on GitHub.
You can see the most recent state of a resource module by visiting its GitHub page at:
https://github.com/PowerShell/< module name >
For example, for the xCertificate module, go to:
https://github.com/PowerShell/xCertificate.

All DSC modules are also listed as submodules of the DscResources repository in the xDscResources folder.

How to Contribute

You are more than welcome to contribute to the development of the DSC Resource Kit! There are several different ways you can help. You can create new DSC resources or modules, add test automation, improve documentation, fix existing issues, or open new ones.
See our contributing guide for more info on how to become a DSC Resource Kit contributor.

If you would like to help, please take a look at the list of open issues for the DscResources repository.
You can also check issues for specific resource modules by going to:
https://github.com/PowerShell/< module name >/issues
For example:
https://github.com/PowerShell/xPSDesiredStateConfiguration/issues

Your help in developing the DSC Resource Kit is invaluable to us!

Questions, comments?

If you’re looking into using PowerShell DSC, have questions or issues with a current resource, or would like a new resource, let us know in the comments below, on Twitter (@PowerShell_Team), or by creating an issue on GitHub.

Katie Keim
Software Engineer
PowerShell DSC Team
@katiedsc (Twitter)
@kwirkykat (GitHub)