This release includes updates to 8 DSC resource modules, including 11 new DSC resources. In these past 6 weeks, 71 pull requests have been merged and 37 issues have been closed, all thanks to our amazing community!
The modules updated in this release are:
AuditPolicyDsc
xDismFeature
xExchange
xHyper-V
xNetworking
xPSDesiredStateConfiguration
xSQLServer
xWebAdministration
For a detailed list of the resource modules and fixes in this release, see the Included in this Release section below.
[UPDATE 01/26/17 2:40PM PST] – xHyper-V has now been released with a new resource.
[UPDATE 02/03/17 2:20PM PST] – PSDscResources has now also been released with the new Environment resource and a few bug fixes (release notes). xPSDesiredStateConfiguration was also released again with some of the same updates (release notes).
A new version of xActiveDirectory was also released about two weeks ago with some bug fixes for xADDomain and xADDomainController.
Our last community call for the DSC Resource Kit was last week on January 18. A recording of our updates as well as summarizing notes are available. Join us next time at 9AM PST on March 1 to ask questions and give feedback about your experience with the DSC Resource Kit. Keep an eye on the community agenda for the link to the call agenda.
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
AuditPolicyDsc
1.1.0.0
Added the AuditPolicyCsv resource.
xDismFeature
1.2.0.0
xDismFeature: Resource no longer includes the Source parameter when it is not specified
Converted appveyor.yml to install Pester from PSGallery instead of from Chocolatey.
xExchange
1.13.0.0
Fix function RemoveVersionSpecificParameters
xExchMailboxServer: Added missing parameters except these, which are marked as “This parameter is reserved for internal Microsoft use.”
xHyper-V
3.7.0.0
Adding a new resource
MSFT_xVMNetworkAdapter: Attaches a new VM network adapter to the management OS or VM.
xNetworking
3.2.0.0
Fixed typo in the example”s Action property from “Blocked” (which isn”t a valid
value) to “Block”
Added support for auto generating wiki, help files, markdown linting
and checking examples.
Added NetworkingDsc.ResourceHelper module based on copy from PSDscResources.
MSFT_xFirewall:
Cleaned up ParameterList table layout and moved into a new file
(MSFT_xFirewall.data.psd1).
Separated Localization strings into strings file.
Added standard help blocks to all functions to meet HQRM standards.
Added CmdletBinding attribute to all functions to meet HQRM standards.
Style changes to meet HQRM standards.
Fixed issue using CIDR notation for LocalAddress or RemoteAddress.
Fixed integration tests so that values being set are correctly tested.
Added integration tests for Removal of Firewall rule.
Added NetworkingDsc.Common module to contain shared networking functions.
MSFT_xDNSServerAddress:
Separated Localization strings into strings file.
MSFT_xDefaultGatewayAddress:
Separated Localization strings into strings file.
Style changes to meet HQRM standards.
MSFT_xDhcpClient:
Separated Localization strings into strings file.
Fix parameter descriptions in MOF file.
Style changes to meet HQRM standards.
MSFT_xDnsClientGlobalSetting:
Renamed Localization strings file to be standard naming format.
Moved ParameterList into a new file (MSFT_xDnsClientGlobalSetting.data.psd1).
Style changes to meet HQRM standards.
Removed New-TerminatingError function because never called.
Converted to remove Invoke-Expression.
MSFT_xDnsConnectionSuffix:
Separated Localization strings into strings file.
Style changes to meet HQRM standards.
MSFT_xHostsFile:
Renamed Localization strings file to be standard naming format.
Style changes to meet HQRM standards.
Refactored for performance
Code now reads 38k lines in > 1 second vs 4
Now ignores inline comments
Added more integration tests
MSFT_xIPAddress:
Separated Localization strings into strings file.
Style changes to meet HQRM standards.
MSFT_xNetAdapterBinding:
Separated Localization strings into strings file.
Style changes to meet HQRM standards.
MSFT_xNetAdapterRDMA:
Renamed Localization strings file to be standard naming format.
Style changes to meet HQRM standards.
MSFT_xNetBIOS:
Renamed Localization strings file to be standard naming format.
Style changes to meet HQRM standards.
MSFT_xNetConnectionProfile:
Separated Localization strings into strings file.
Style changes to meet HQRM standards.
MSFT_xNetworkTeam:
Style changes to meet HQRM standards.
MSFT_xNetworkTeamInterface:
Updated integration tests to remove Invoke-Expression.
Style changes to meet HQRM standards.
MSFT_xRoute:
Separated Localization strings into strings file.
Style changes to meet HQRM standards.
MSFT_xFirewall:
Converted to remove Invoke-Expression.
xPSDesiredStateConfiguration
5.2.0.0
xWindowsProcess
Minor updates to integration tests because one of the tests was flaky.
xRegistry:
Added support for forward slashes in registry key names. This resolves issue 285.
xSqlServer
5.0.0.0
Improvements how tests are initiated in AppVeyor
Removed previous workaround (issue 201) from unit tests.
Changes in appveyor.yml so that SQL modules are removed before common test is run.
Now the deploy step are no longer failing when merging code into Dev. Neither is the deploy step failing if a contributor had AppVeyor connected to the fork of xSQLServer and pushing code to the fork.
Changes to README.md
Changed the contributing section to help new contributors.
Added links for each resource so it is easier to navigate to the parameter list for each resource.
Moved the list of resources in alphabetical order.
Moved each resource parameter list into alphabetical order.
Removed old text mentioning System Center.
Now the correct product name is written in the installation section, and a typo was also fixed.
Fixed a typo in the Requirements section.
Added link to Examples folder in the Examples section.
Change the layout of the README.md to closer match the one of PSDscResources
Added more detailed text explaining what operating systemes WMF5.0 can be installed on.
Verified all resource schema files with the README.md and fixed some errors (descriptions was not verified).
Added security requirements section for resource xSQLServerEndpoint and xSQLAOGroupEnsure.
Changes to xSQLServerSetup
The resource no longer uses Win32_Product WMI class when evaluating if SQL Server Management Studio is installed. See article kb974524 for more information.
Now it uses CIM cmdlets to get information from WMI classes.
Resolved all of the PSScriptAnalyzer warnings that was triggered in the common tests.
Improvement for service accounts to enable support for Managed Service Accounts as well as other nt authority accounts
Changes to the helper function Copy-ItemWithRoboCopy
Robocopy is now started using Start-Process and the error handling has been improved.
Robocopy now removes files at the destination path if they no longer exists at the source.
Robocopy copies using unbuffered I/O when available (recommended for large files).
Added a more descriptive text for the parameter SourceCredential to further explain how the parameter work.
BREAKING CHANGE: Removed parameter SourceFolder.
BREAKING CHANGE: Removed default value “$PSScriptRoot….” from parameter SourcePath.
Old code, that no longer filled any function, has been replaced.
Function ResolvePath has been replaced with [Environment]::ExpandEnvironmentVariables($SourcePath) so that environment variables still can be used in Source Path.
Function NetUse has been replaced with New-SmbMapping and Remove-SmbMapping.
Renamed function GetSQLVersion to Get-SqlMajorVersion.
BREAKING CHANGE: Renamed parameter PID to ProductKey to avoid collision with automatic variable $PID
Changes to xSQLServerScript
All credential parameters now also has the type [System.Management.Automation.Credential()] to better work with PowerShell 4.0.
It is now possible to configure two instances on the same node, with the same script.
Added to the description text for the parameter Credential describing how to authenticate using Windows Authentication.
Added examples to show how to authenticate using either SQL or Windows authentication.
A recent issue showed that there is a known problem running this resource using PowerShell 4.0. For more information, see issue #273
Changes to xSQLServerFirewall
BREAKING CHANGE: Removed parameter SourceFolder.
BREAKING CHANGE: Removed default value “$PSScriptRoot….” from parameter SourcePath.
Old code, that no longer filled any function, has been replaced.
Function ResolvePath has been replaced with [Environment]::ExpandEnvironmentVariables($SourcePath) so that environment variables still can be used in Source Path.
Adding new optional parameter SourceCredential that can be used to authenticate against SourcePath.
Solved PSSA rules errors in the code.
Get-TargetResource no longer return $true when no products was installed.
Changes to the unit test for resource
xSQLServerSetup
Added test coverage for helper function Copy-ItemWithRoboCopy
Changes to xSQLServerLogin
Removed ShouldProcess statements
Added the ability to enforce password policies on SQL logins
Added common test (xSQLServerCommon.Tests) for xSQLServer module
Now all markdown files will be style checked when tests are running in AppVeyor after sending in a pull request.
Now all Examples will be tested by compiling to a .mof file after sending in a pull request.
Changes to xSQLServerDatabaseOwner
The example “SetDatabaseOwner” can now compile, it wrongly had a DependsOn in the example.
Changes to SQLServerRole
The examples “AddServerRole” and “RemoveServerRole” can now compile, it wrongly had a DependsOn in the example.
Changes to CONTRIBUTING.md
Added section “Tests for examples files”
Added section “Tests for style check of Markdown files”
Added section “Documentation with Markdown”
Added texts to section “Tests”
Changes to xSQLServerHelper
added functions
Get-SqlDatabaseRecoveryModel
Set-SqlDatabaseRecoveryModel
Examples
xSQLServerDatabaseRecoveryModel
1-SetDatabaseRecoveryModel.ps1
xSQLServerDatabasePermission
1-GrantDatabasePermissions.ps1
2-RevokeDatabasePermissions.ps1
3-DenyDatabasePermissions.ps1
xSQLServerFirewall
1-CreateInboundFirewallRules
2-RemoveInboundFirewallRules
Added tests for resources
xSQLServerDatabaseRecoveryModel
xSQLServerDatabasePermissions
xSQLServerFirewall
Changes to xSQLServerDatabaseRecoveryModel
BREAKING CHANGE: Renamed xSQLDatabaseRecoveryModel to xSQLServerDatabaseRecoveryModel to align with naming convention.
BREAKING CHANGE: The mandatory parameters now include SQLServer, and SQLInstanceName.
Changes to xSQLServerDatabasePermission
BREAKING CHANGE: Renamed xSQLServerDatabasePermissions to xSQLServerDatabasePermission to align wíth naming convention.
BREAKING CHANGE: The mandatory parameters now include PermissionState, SQLServer, and SQLInstanceName.
Added support for clustered installations to xSQLServerSetup
Migrated relevant code from xSQLServerFailoverClusterSetup
Removed Get-WmiObject usage
Clustered storage mapping now supports asymmetric cluster storage
Added support for multi-subnet clusters
Added localized error messages for cluster object mapping
Updated README.md to reflect new parameters
Updated description for xSQLServerFailoverClusterSetup to indicate it is deprecated.
xPDT helper module
Function GetxPDTVariable was removed since it no longer was used by any resources.
File xPDT.xml was removed since it was not used by any resources, and did not provide any value to the module.
Changes xSQLServerHelper moduled
Removed the globally defined $VerbosePreference =Continue from xSQLServerHelper.
Fixed a typo in a variable name in the function New-ListenerADObject.
Now Restart-SqlService will correctly show the services it restarts. Also fixed PSSA warnings.
xWebAdministration
1.17.0.0
Added removal of self signed certificate to the integration tests of xWebsite, fixes 276.
Added EnabledProtocols to xWebApplication.
Changed SSLFlags for xWebApplication to comma seperate multiple SSL flags, fixes 232.
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 KitFind-Module-TagDSCResourceKit# To list all DSC resources from all sources Find-DscResource
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.
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.
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 Team
@katiedsc (Twitter)
@kwirkykat (GitHub)
0 comments