The UpdateServicesDsc module contains DSC resources for deployment and configuration of Windows Server Update Services.
This project has adopted this code of conduct.
This module is community maintained as a best-effort open source project and has no expressed support from any individual or organization.
This is the branch containing the latest release - no contributions should be made directly to this branch.
This is the development branch to which contributions should be proposed by contributors as pull requests. This development branch will periodically be merged to the master branch, and be released to PowerShell Gallery.
Regardless of the way you want to contribute we are tremendously happy to have you here.
There are several ways you can contribute. You can submit an issue to report a bug. You can submit an issue to request an improvement. You can take part in discussions for issues. You can review pull requests and comment on other contributors changes. You can also improve the resources and tests, or even create new resources, by sending in pull requests yourself.
- If you want to submit an issue or take part in discussions, please browse the list of issues. Please check out Contributing to the DSC Resource Kit on how to work with issues.
- If you want to review pull requests, please first check out the Review Pull Request guidelines, and the browse the list of pull requests and look for those pull requests with label 'needs review'.
- If you want to improve this resource module,
then please check out the following guidelines.
- The specific Contributing to SqlServerDsc guidelines.
- The common Style Guidelines & Best Practices.
- The common Testing Guidelines.
- If you are new to GitHub (and git), then please check out Getting Started with GitHub.
- If you are new to Pester and writing test, then please check out Getting started with Pester.
If you need any help along the way, don't be afraid to ask. We are here for each other.
To manually install the module, download the source code from GitHub and unzip the contents to the '$env:ProgramFiles\WindowsPowerShell\Modules' folder.
To install from the PowerShell gallery using PowerShellGet (in PowerShell 5.0) run the following command:
Find-Module -Name UpdateServicesDsc | Install-ModuleTo confirm installation, run the below command and ensure you see the SQL Server DSC resources available:
Get-DscResource -Module UpdateServicesDscThe minimum Windows Management Framework (PowerShell) version required is 5.0 or higher, which ships with Windows 10 or Windows Server 2016, but can also be installed on Windows 7 SP1, Windows 8.1, Windows Server 2008 R2 SP1, Windows Server 2012 and Windows Server 2012 R2.
UpdateServicesApprovalRule resource has following properties
- Ensure: An enumerated value that describes if the ApprovalRule is available
- Name: Name of the approval rule.
- Classifications: Classifications in the approval rule.
- Products: Products in the approval rule.
- ComputerGroups: Computer groups the approval rule applies to.
- Enabled: Whether the approval rule is enabled.
- Synchronize: Synchronize after creating or updating the approval rule.
UpdateServicesCleanup resource has following properties:
- Ensure: An enumerated value that describes if the WSUS cleanup task exists.
- DeclineSupersededUpdates: Decline updates that have not been approved fo 30 days or more, are not currently needed by any clients, and are superseded by an approved update.
- DeclineExpiredUpdates: Decline updates that aren't approved and have been expired by Microsoft.
- CleanupObsoleteUpdates: Delete updates that are expired and have not been approved for 30 days or more, and delete older update revisions that have not been approved for 30 days or more.
- CompressUpdates: Compress updates.
- CleanupObsoleteComputers: Delete computers that have not contacted the server in 30 days or more.
- CleanupUnneededContentFiles: Delete update files that aren't needed by updates or downstream servers.
- CleanupLocalPublishedContentFiles: Cleanup local published content files.
- TimeOfDay Time of day to start cleanup.
UpdateServicesServer resource has following properties:
- Ensure: An enumerated value that describes if WSUS is configured.
- SetupCredential: Credential to be used to perform the initial configuration.
- SQLServer: SQL Server for the WSUS database, omit for Windows Internal Database.
- ContentDir: Folder for WSUS update files.
- UpdateImprovementProgram: Join the Microsoft Update Improvement Program.
- UpstreamServerName: Upstream WSUS server, omit for Microsoft Update.
- UpstreamServerPort: Port of upstream WSUS server.
- UpstreamServerSSL: Use SSL with upstream WSUS server.
- UpstreamServerReplica: Replica of upstream WSUS server.
- ProxyServerName: Proxy server to use when synchronizing, omit for no proxy.
- ProxyServerPort: Proxy server port.
- ProxyServerCredential: Proxy server credential, omit for anonymous.
- ProxyServerCredentialUsername: Proxy server credential username.
- ProxyServerBasicAuthentication: Allow proxy server basic authentication.
- Languages: Update languages, * for all.
- Products: Update products, * for all.
- Classifications: Update classifications, * for all.
- SynchronizeAutomatically: Synchronize automatically.
- SynchronizeAutomaticallyTimeOfDay: First synchronization.
- SynchronizationsPerDay: Synchronizations per day.
- Synchronize: Begin initial synchronization.
- RunRuleNow: Run Approval Rule on existing content.
- ClientTargetingMode: An enumerated value that describes if how the Target Groups are populated.
- Resolve feedback for HQRM
- Accept PR for client side targeting
- Fixed PSSA rule override
- Adjusted PDT to let processes run for up to 3 minutes
- Test issues
- A number of PSSA rules evolved since the tests were written. Made all corrections.
- Resolve issues
- Get was failing during deployment because ReferenceObject was null
- High quality DSC module with the following updates:
- Rename to WSUSDsc
- Add Integration tests
- Fix typo in ReadMe
- Add RunRuleNow param to WSUSApprovalRule resource
- Fix error in WSUSServer resource causing Get- to fail
- Initial release of xWSUS module with coverage for the following areas:
- Managing xWSUS rules for content synchronization.
- Managing xWSUS rules for content cleanup and compression.
- Managing xWSUS service configuration
Please check out common DSC Resources contributing guidelines.
Thank you SqlServerDsc maintainers for your awesome work on style and structure for DSC README files, which is copied here.