Tests/Integration/UpdateServicesConfig.ps1
Configuration UpdateServicesConfig { Import-DscResource -ModuleName UpdateServicesDsc Import-DscResource -ModuleName PSDesiredStateConfiguration Node localhost { WindowsFeature UpdateServices { Ensure = 'Present' Name = 'UpdateServices' } WindowsFeature UpdateServicesRSAT { Ensure = 'Present' Name = 'UpdateServices-RSAT' IncludeAllSubFeature = $True } UpdateServicesServer 'UpdateServices' { DependsOn = @( '[WindowsFeature]UpdateServices' ) Ensure = 'Present' ContentDir = 'C:\WSUS' Languages = 'en' Products = @( 'Forefront Endpoint Protection 2010', 'Windows Server 2012 R2' ) Classifications = @( 'E6CF1350-C01B-414D-A61F-263D14D133B4', #CriticalUpdates 'E0789628-CE08-4437-BE74-2495B842F43B', #DefinitionUpdates '0FA1201D-4330-4FA8-8AE9-B877473B6441', #SecurityUpdates '68C5B0A3-D1A6-4553-AE49-01D3A7827828', #ServicePacks '28BC880E-0592-4CBF-8F95-C79B17911D5F' #UpdateRollUps ) SynchronizeAutomatically = $true SynchronizeAutomaticallyTimeOfDay = '15:30:00' } UpdateServicesApprovalRule 'DefinitionUpdates' { DependsOn = '[UpdateServicesServer]UpdateServices' Name = 'Definition Updates' Classifications = 'E0789628-CE08-4437-BE74-2495B842F43B' Enabled = $true RunRuleNow = $true } UpdateServicesApprovalRule 'CriticalUpdates' { DependsOn = '[UpdateServicesServer]UpdateServices' Name = 'Critical Updates' Classifications = 'E6CF1350-C01B-414D-A61F-263D14D133B4' Enabled = $true RunRuleNow = $true } UpdateServicesApprovalRule 'SecurityUpdates' { DependsOn = '[UpdateServicesServer]UpdateServices' Name = 'Security Updates' Classifications = '0FA1201D-4330-4FA8-8AE9-B877473B6441' Enabled = $true RunRuleNow = $true } UpdateServicesApprovalRule 'ServicePacks' { DependsOn = '[UpdateServicesServer]UpdateServices' Name = 'Service Packs' Classifications = '68C5B0A3-D1A6-4553-AE49-01D3A7827828' Enabled = $true RunRuleNow = $true } UpdateServicesApprovalRule 'UpdateRollUps' { DependsOn = '[UpdateServicesServer]UpdateServices' Name = 'Update RollUps' Classifications = '28BC880E-0592-4CBF-8F95-C79B17911D5F' Enabled = $true RunRuleNow = $true } UpdateServicesCleanup 'UpdateServices' { DependsOn = '[UpdateServicesServer]UpdateServices' Ensure = 'Present' DeclineExpiredUpdates = $true DeclineSupersededUpdates = $true CleanupObsoleteUpdates = $true CleanupUnneededContentFiles = $true } } } # Example command to compile in Azure Automation DSC # Start-AzureRmAutomationDscCompilationJob -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName> -ConfigurationName "UpdateServicesConfig" |