DSC Resource Kit Release February 2019

Katie Kragenbrink [MSFT]

We just released the DSC Resource Kit!

This release includes updates to 14 DSC resource modules. In the past 6 weeks, 126 pull requests have been merged and 102 issues have been closed, all thanks to our amazing community!

The modules updated in this release are:

  • ActiveDirectoryCSDsc
  • CertificateDsc
  • ComputerManagementDsc
  • DFSDsc
  • NetworkingDsc
  • PSDscResources
  • SharePointDsc
  • SqlServerDsc
  • StorageDsc
  • xActiveDirectory
  • xExchange
  • xHyper-V
  • xPSDesiredStateConfiguration
  • xWebAdministration

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

Our latest community call for the DSC Resource Kit was last Wednesday, February 13. We were not able to record the call this time, apologies. We will fix this for the next call. You can join us for the next call at 12PM (Pacific time) on March 27 to ask questions and give feedback about your experience with the DSC Resource Kit.

The next DSC Resource Kit release will be on Wednesday, April 3.

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)!

Please see our documentation here for information on the support of these resource modules.

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
ActiveDirectoryCSDsc 3.2.0.0
  • Added “DscResourcesToExport” to manifest to improve information in PowerShell Gallery – fixes Issue 68.
  • Removed unused CAType variables and references in AdcsOnlineResponder – fixes issue 52.
  • Updated Examples to enable publising to PowerShell Gallery – fixes issue 54.
  • Cleaned up property alignment in module manifest file.
  • Added new resource AdcsOcspExtension – see Issue 70.
    • Added new ActiveDirectoryCSDsc.CommonHelper.psm1 helper module and unit test.
    • Added stub function to /Tests/TestHelpers (ADCSStub.psm1) so Pester tests can run without having to install ADCSAdministration module.
  • Converted module to auto-documentation Wiki – fixes Issue 53.
  • Enabled Example publishing to PSGallery.
  • Moved change log to CHANGELOG.MD.
  • Opted into Common Tests “Validate Example Files To Be Published”, “Validate Markdown Links” and “Relative Path Length”.
  • Correct AppVeyor Invoke-AppveyorAfterTestTask – fixes Issue 73.
CertificateDsc 4.4.0.0
  • Minor style corrections from PR for Issue 161 that were missed.
  • Opt-in to Example publishing to PowerShell Gallery – fixes Issue 177.
  • Changed Test-CertificateAuthority to return the template name if it finds the display name of the template in the certificate -fixes Issue 147.
ComputerManagementDsc 6.2.0.0
  • WindowsEventLog:
    • Migrated the xWinEventLog from xWinEventLog and renamed to WindowsEventLog.
    • Moved strings in localization file.
    • LogMode is now set with Limit-EventLog,
    • Fixes Issue 18.
DFSDsc 4.3.0.0
  • Fixes PSSA style violation issues resulting – fixes Issue 84.
  • Added “DscResourcesToExport” to manifest to improve information in PowerShell Gallery – fixes Issue 86.
  • Set FunctionsToExport, CmdletsToExport, VariablesToExport, AliasesToExport to empty list in manifest to meet best practice.
  • Explicitly removed extra hidden files from release package
NetworkingDsc 7.0.0.0
  • Refactored module folder structure to move resource to root folder of repository and remove test harness – fixes Issue 372.
  • Removed module conflict tests because only required for harness style modules.
  • Opted into Common Tests “Validate Example Files To Be Published”, “Validate Markdown Links” and “Relative Path Length”.
  • Added “DscResourcesToExport” to manifest to improve information in PowerShell Gallery and removed wildcards from “FunctionsToExport”, “CmdletsToExport”, “VariablesToExport” and “AliasesToExport” – fixes Issue 376.
  • MSFT_NetIPInterface:
    • Added Dhcp, WeakHostReceive and WeakHostSend parameters so that MSFT_DHCPClient, MSFT_WeakHostReceive, MSFT_WeakHostSend can be deprecated – fixes Issue 360.
  • MSFT_DhcpClient:
    • BREAKING CHANGE: Resource has been deprecated and replaced by Dhcp parameter in MSFT_NetIPInterface.
  • MSFT_WeakHostReceive:
    • BREAKING CHANGE: Resource has been deprecated and replaced by WeakHostReceive parameter in MSFT_NetIPInterface.
  • MSFT_WeakHostSend:
    • BREAKING CHANGE: Resource has been deprecated and replaced by WeakHostSend parameter in MSFT_NetIPInterface.
  • MSFT_IPAddress:
    • Updated examples to use NetIPInterface.
  • MSFT_NetAdapterName:
    • Updated examples to use NetIPInterface.
  • MSFT_DnsServerAddress:
    • Updated examples to use NetIPInterface.
  • MSFT_NetworkTeam:
    • Change Get-TargetResource to return actual TeamMembers if network team exists and “Ensure” returns “Present” even when actual TeamMembers do not match “TeamMembers” parameter – fixes Issue 342.
  • Updated examples to format required for publishing to PowerShell Gallery – fixes Issue 374.
  • MSFT_NetAdapterAdvancedProperty:
  • Fixes NetworkAdapterName being returned in Name property when calling Get-TargetResourceFixes – fixes Issue 370.
PSDscResources 2.10.0.0
  • Fixed CompanyName typo – Fixes Issue 100
  • Update LICENSE file to match the Microsoft Open Source Team standard – Fixes Issue 120.
  • Update CommonResourceHelper unit tests to meet Pester 4.0.0 standards (issue 129).
  • Update ResourceHelper unit tests to meet Pester 4.0.0 standards (issue 129).
  • Ported fixes from xPSDesiredStateConfiguration:
    • xArchive
      • Fix end-to-end tests.
      • Update integration tests to meet Pester 4.0.0 standards.
      • Update end-to-end tests to meet Pester 4.0.0 standards.
      • Update unit and integration tests to meet Pester 4.0.0 standards.
      • Wrapped all path and identifier strings in verbose messages with quotes to make it easier to identify the limit of the string when debugging.
      • Refactored date/time checksum code to improve testability and ensure tests can run on machines with localized datetime formats that are not US.
      • Fix “Get-ArchiveEntryLastWriteTime” to return [datetime].
      • Improved verbose logging to make debugging path issues easier.
  • Added .gitattributes file to ensure CRLF settings are configured correctly for the repository.
  • Updated “.vscode\settings.json” to refer to AnalyzerSettings.psd1 so that custom syntax problems are highlighted in Visual Studio Code.
  • Fixed style guideline violations in CommonResourceHelper.psm1.
  • Updated “appveyor.yml” to meet more recent standards.
  • Removed OS image version from “appveyor.yml” to use default image (Issue 127).
  • Removed code to install WMF5.1 from “appveyor.yml” because it is already installed in AppVeyor images (Issue 128).
  • Removed .vscode from .gitignore so that Visual Studio code environment settings can be committed.
  • Environment
    • Update tests to meet Pester 4.0.0 standards (issue 129).
  • Group
    • Update tests to meet Pester 4.0.0 standards (issue 129).
    • Fix unit tests to run on Nano Server.
    • Refactored unit tests to enclude Context fixtures and change functions to Describe fixtures.
  • GroupSet
    • Update tests to meet Pester 4.0.0 standards (issue 129).
SharePointDsc 3.2.0.0
  • Changes to SharePointDsc unit testing
    • Implemented Strict Mode version 1 for all code run during unit tests.
    • Changed InstallAccount into PSDscRunAsCredential parameter in examples
  • SPAuthenticationRealm
    • New resource for setting farm authentication realm
  • SPConfigWizard
    • Updated PSConfig parameters according recommendations in blog post of Stefan Gossner
  • SPDistributedCacheService
    • Fixed exception on Stop-SPServiceInstance with SharePoint 2019
  • SPFarm
    • Improved logging
    • Added ability to manage the Developer Dashboard settings
  • SPFarmSolution
    • Fixed issue where uninstalling a solution would not work as expected if it contained web application resources.
  • SPIncomingEmailSettings
    • New resource for configuring incoming email settings
  • SPInstallPrereqs
    • Improved logging
    • Corrected detection for Windows Server 2019
    • Corrected support for Windows Server 2019 for SharePoint 2016
  • SPProductUpgrade
    • Fixed issue where upgrading SP2013 would not properly detect the installed version
    • Fixed issue where the localized SharePoint 2019 CU was detected as a Service Pack for a Language Pack
  • SPSearchAuthorativePage
    • Fixed issue where modifying search query would not target the correct search application
  • SPSearchResultSource
    • Updated resource to allow localized ProviderTypes
  • SPServiceAppSecurity
    • Updated resource to allow localized permission levels
  • SPServiceInstance
    • Added -All switch to resolve ‘Unable to locate service application’ in SP2013
  • SPSite
    • Improved logging
  • SPUserProfileProperty
    • Fix user profile property mappings does not work
  • SPUserProfileServiceApp
    • Added warning message when MySiteHostLocation is not specified. This is currently not required, which results in an error. Will be corrected in SPDsc v4.0 (is a breaking change).
  • SPUserProfileSyncConnection
    • Fixed issue where test resource never would return true for any configurations on SharePoint 2016/2019
    • Fixed issue where updating existing connection never would work for any configurations on SharePoint 2016/2019
    • Updated documentation to reflect that Fore will not impact configurations for SharePoint 2016/2019. Updated the test method accordingly.
  • SPUserProfileSyncService
    • Fixed issue where failure to configure the sync service would not throw error
  • SPWebAppPeoplePickerSettings
    • Converted password for access account to secure string. Previsouly the resource would fail setting the password and an exeption was thrown that printed the password in clear text.
  • SPWebAppPolicy
    • Fixed issue where parameter MembersToExclude did not work as expected
  • SPWorkflowService
    • Added support for specifying scope name.
    • Added support for detecting incorrect configuration for scope name and WorkflowHostUri
SqlServerDsc 12.3.0.0
  • Changes to SqlServerDsc
    • Reverting the change that was made as part of the issue 1260 in the previous release, as it only mitigated the issue, it did not solve the issue.
    • Removed the container testing since that broke the integration tests, possible due to using excessive amount of memory on the AppVeyor build worker. This will make the unit tests to take a bit longer to run (issue 1260).
    • The unit tests and the integration tests are now run in two separate build workers in AppVeyor. One build worker runs the integration tests, while a second build worker runs the unit tests. The build workers runs in parallel on paid accounts, but sequentially on free accounts (issue 1260).
    • Clean up error handling in some of the integration tests that was part of a workaround for a bug in Pester. The bug is resolved, and the error handling is not again built into Pester.
    • Speeding up the AppVeyor tests by splitting the common tests in a separate build job.
    • Updated the appveyor.yml to have the correct build step, and also correct run the build step only in one of the jobs.
    • Update integration tests to use the new integration test template.
    • Added SqlAgentOperator resource.
  • Changes to SqlServiceAccount
    • Fixed Get-ServiceObject when searching for Integration Services service. Unlike the rest of SQL Server services, the Integration Services service cannot be instanced, however you can have multiple versions installed. Get-Service object would return the correct service name that you are looking for, but it appends the version number at the end. Added parameter VersionNumber so the search would return the correct service name.
    • Added code to allow for using Managed Service Accounts.
    • Now the correct service type string value is returned by the function Get-TargetResource. Previously one value was passed in as a parameter (e.g. DatabaseEngine), but a different string value as returned (e.g. SqlServer). Now Get-TargetResource return the same values that can be passed as values in the parameter ServiceType (issue 981).
  • Changes to SqlServerLogin
    • Fixed issue in Test-TargetResource to valid password on disabled accounts (issue 915).
    • Now when adding a login of type SqlLogin, and the SQL Server login mode is set to "Integrated", an error is correctly thrown (issue 1179).
  • Changes to SqlSetup
    • Updated the integration test to stop the named instance while installing the other instances to mitigate issue 1260.
    • Add parameters to configure the Tempdb files during the installation of the instance. The new parameters are SqlTempdbFileCount, SqlTempdbFileSize, SqlTempdbFileGrowth, SqlTempdbLogFileSize and SqlTempdbLogFileGrowth (issue 1167).
  • Changes to SqlServerEndpoint
StorageDsc 4.5.0.0
  • Opt-in to Example publishing to PowerShell Gallery – fixes Issue 186.
  • DiskAccessPath:
    • Updated the resource to not assign a drive letter by default when adding a disk access path. Adding a Set-Partition -NoDefaultDriveLetter $NoDefaultDriveLetter block defaulting to true. When adding access paths the disks will no longer have drive letters automatically assigned on next reboot which is the desired behavior – Fixes Issue 145.
xActiveDirectory 2.24.0.0
  • Added parameter to xADDomainController to support InstallationMediaPath (issue 108).
  • Updated xADDomainController schema to be standard and provide Descriptions.
xExchange 1.27.0.0
  • Added additional parameters to the MSFT_xExchTransportService resource
  • Added additional parameters to the MSFT_xExchEcpVirtualDirectory resource
  • Added additional unit tests to the MSFT_xExchAutodiscoverVirutalDirectory resource
  • Added additional parameters to the MSFT_xExchExchangeCertificate resource
  • MSFT_xExchMailboxDatabase: Fixes issue with DataMoveReplicationConstraint parameter (401)
  • Added additional parameters and comment based help to the MSFT_xExchMailboxDatabase resource
  • Move code that sets $global:DSCMachineStatus into a dedicated helper function. Issue 407
  • Add missing parameters for xExchMailboxDatabaseCopy, adds comment based help, and adds remaining Unit tests.
xHyper-V 3.16.0.0
  • MSFT_xVMHyperV:
    • Moved localization string data to own file.
    • Fixed code styling issues.
    • Fixed bug where StartupMemory was not evaluated in Test-TargetResource.
    • Redo of abandoned PRs:
    • Fixed Get throws error when NetworkAdapters are not attached or missing properties.
xPSDesiredStateConfiguration 8.5.0.0
  • Pull server module publishing
    • Removed forced verbose logging from CreateZipFromSource, Publish-DSCModulesAndMof and Publish-MOFToPullServer as it polluted the console
  • Corrected GitHub Pull Request template to remove referral to BestPractices.MD which has been combined into StyleGuidelines.md (issue 520).
  • xWindowsOptionalFeature
    • Suppress useless verbose output from Import-Module cmdlet. (issue 453).
  • Changes to xRemoteFile
    • Corrected a resource name in the example xRemoteFile_DownloadFileConfig.ps1
  • Fix MSFT_xDSCWebService to find Microsoft.Powershell.DesiredStateConfiguration.Service.Resources.dll when server is configured with pt-BR Locales (issue 284).
  • Changes to xDSCWebService
    • Fixed an issue which prevented the removal of the IIS Application Pool created during deployment of an DSC Pull Server instance. (issue 464)
    • Fixed an issue where a Pull Server cannot be deployed on a machine when IIS Express is installed aside a full blown IIS (issue 191)
  • Update CommonResourceHelper unit tests to meet Pester 4.0.0 standards (issue 473).
  • Update ResourceHelper unit tests to meet Pester 4.0.0 standards (issue 473).
  • Update MSFT_xDSCWebService unit tests to meet Pester 4.0.0 standards (issue 473).
  • Update MSFT_xDSCWebService integration tests to meet Pester 4.0.0 standards (issue 473).
  • Refactored MSFT_xDSCWebService integration tests to meet current standards and to use Pester TestDrive.
  • xArchive
    • Fix end-to-end tests (issue 457).
    • Update integration tests to meet Pester 4.0.0 standards.
    • Update end-to-end tests to meet Pester 4.0.0 standards.
    • Update unit and integration tests to meet Pester 4.0.0 standards.
    • Wrapped all path and identifier strings in verbose messages with quotes to make it easier to identify the limit of the string when debugging.
    • Refactored date/time checksum code to improve testability and ensure tests can run on machines with localized datetime formats that are not US.
    • Fix “Get-ArchiveEntryLastWriteTime” to return [datetime] (issue 471).
    • Improved verbose logging to make debugging path issues easier.
    • Added handling for “/” as a path seperator by backporting code from PSDscResources – (issue 469).
    • Copied unit tests from PSDscResources.
    • Added .gitattributes file and removed git configuration from AppVeyor to ensure CRLF settings are configured correctly for the repository.
  • Updated “.vscode\settings.json” to refer to AnalyzerSettings.psd1 so that custom syntax problems are highlighted in Visual Studio Code.
  • Fixed style guideline violations in CommonResourceHelper.psm1.
  • Changes to xService
    • Fixes issue where Get-TargetResource or Test-TargetResource will throw an exception if the target service is configured with a non-existent dependency.
    • Refactored Get-TargetResource Unit tests.
  • Changes to xPackage
    • Fixes an issue where incorrect verbose output was displayed if product found. (issue 446)
  • Fixes files which are getting triggered for re-encoding after recent pull request (possibly 472).
  • Moves version and change history from README.MD to new file, CHANGELOG.MD.
  • Fixes markdown issues in README.MD and HighQualityResourceModulePlan.md.
  • Opted in to “Common Tests – Validate Markdown Files”
  • Changes to xPSDesiredStateConfiguration
    • In AppVeyor CI the tests are split into three separate jobs, and also run tests on two different build worker images (Windows Server 2012R2 and Windows Server 2016). The common tests are only run on the Windows Server 2016 build worker image. Helps with issue 477.
  • xGroup
    • Corrected style guideline violations. (issue 485)
  • xWindowsProcess
    • Corrected style guideline violations. (issue 496)
  • Changes to PSWSIISEndpoint.psm1
    • Fixes most PSScriptAnalyzer issues.
  • Changes to xRegistry
    • Fixed an issue that fails to remove reg key when the Key is specified as common registry path. (issue 444)
  • Changes to xService
    • Added support for Group Managed Service Accounts
  • Adds new Integration tests for MSFT_xDSCWebService and removes old Integration test file, MSFT_xDSCWebService.xxx.ps1.
  • xRegistry
    • Corrected style guideline violations. (issue 489)
  • Fix script analyzer issues in UseSecurityBestPractices.psm1. issue 483
  • Fixes script analyzer issues in xEnvironmentResource. issue 484
  • Fixes script analyzer issues in MSFT_xMsiPackage.psm1. issue 486
  • Fixes script analyzer issues in MSFT_xPackageResource.psm1. issue 487
  • Adds spaces between variable types and variables, and changes Type Accelerators to Fully Qualified Type Names on affected code.
  • Fixes script analyzer issues in MSFT_xPSSessionConfiguration.psm1 and convert Type Accelerators to Fully Qualified Type Names issue 488.
  • Adds spaces between array members.
  • Fixes script analyzer issues in MSFT_xRemoteFile.psm1 and correct general style violations. (issue 490)
  • Remove unnecessary whitespace from line endings.
  • Add statement to README.md regarding the lack of testing of this module with PowerShell 4 issue 522.
  • Fixes script analyzer issues in MSFT_xWindowsOptionalFeature.psm1 and correct general style violations. issue 494)
  • Fixes script analyzer issues in MSFT_xRemoteFile.psm1 missed from issue 490.
  • Fix script analyzer issues in MSFT_xWindowsFeature.psm1. issue 493
  • Fix script analyzer issues in MSFT_xUserResource.psm1. issue 492
  • Moves calls to set $global:DSCMachineStatus = 1 into a helper function to reduce the number of locations where we need to suppress PSScriptAnalyzer rules PSAvoidGlobalVars and PSUseDeclaredVarsMoreThanAssignments.
  • Adds spaces between comment hashtags and comments.
  • Fixes script analyzer issues in MSFT_xServiceResource.psm1. issue 491
  • Fixes script analyzer issues in MSFT_xWindowsPackageCab.psm1. issue 495
  • xFileUpload:
    • Fixes script analyzer issues in xFileUpload.schema.psm1. issue 497
    • Update to meet style guidelines.
    • Added Integration tests.
    • Updated manifest Author, Company and Copyright to match standards.
  • Updated module manifest Copyright to match standards and remove year.
  • Auto-formatted the module manifest to improve layout.
  • Fix Run-On Words in README.md.
  • Changes to xPackage
    • Fix an misnamed variable that causes an error during error message output. issue 449)
  • Fixes script analyzer issues in MSFT_xPSSessionConfiguration.psm1. issue 566
  • Fixes script analyzer issues in xGroupSet.schema.psm1. issue 498
  • Fixes script analyzer issues in xProcessSet.schema.psm1. issue 499
  • Fixes script analyzer issues in xServiceSet.schema.psm1. issue 500
  • Fixes script analyzer issues in xWindowsFeatureSet.schema.psm1. issue 501
  • Fixes script analyzer issues in xWindowsOptionalFeatureSet.schema.psm1 issue 502
  • Updates Should statements in Pester tests to use dashes before parameters.
  • Added a CODE_OF_CONDUCT.md with the same content as in the README.md issue 562
  • Replaces Type Accelerators with fully qualified type names.
xWebAdministration 2.5.0.0
  • Added SiteId to xWebSite to address [396]
  • xWebSite: Full path is used to get list of default documents
  • xIISLogging: Added support for LogTargetW3C
  • xWebsite: Added support for LogTargetW3C

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 starting in WMF 5.0) to find modules with DSC Resources:

# To list all modules that tagged as DSCResourceKit
Find-Module -Tag DSCResourceKit 
# To list all DSC resources from all sources 
Find-DscResource

 

Please note only those modules released by the PowerShell Team are currently considered part of the ‘DSC Resource Kit’ regardless of the presence of the ‘DSC Resource Kit’ tag in the PowerShell Gallery.

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 CertificateDsc module, go to: https://github.com/PowerShell/CertificateDsc.

All DSC modules are also listed as submodules of the DscResources repository in the DscResources folder and 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 Kragenbrink Software Engineer PowerShell DSC Team @katiedsc (Twitter) @kwirkykat (GitHub)

0 comments

Discussion is closed.

Feedback usabilla icon