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.
For each merge to the branch master
a preview release will be
deployed to PowerShell Gallery.
Periodically a release version tag will be pushed which will deploy a
full release to PowerShell Gallery.
Please check out common DSC Community contributing guidelines.
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-Module
To confirm installation, run the below command and ensure you see the SQL Server DSC resources available:
Get-DscResource -Module UpdateServicesDsc
The 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 for 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.
- ClientTargetingMode: An enumerated value that describes if how the Target Groups are populated.
Please refer to the Changelog