The xWindowsUpdate module contains the xHotfix and xWindowsUpdateAgent DSC resources. xHotfix installs a Windows Update (or hotfix) from a given path. xWindowsUpdateAgent will configure the source download settings for the machine, update notifications on the system, and can automatically initiate installation of the updates. For more information on Windows Update and Hotfix, please refer to this TechNet article. xMicrosoftUpdate enables or disables Microsoft Update.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
Please check out common DSC Resources contributing guidelines.
- Path: The path from where the hotfix should be installed
- Log: The name of the log where installation/uninstallation details are stored. If no log is used, a temporary log name is created by the resource.
- Id: The hotfix ID of the Windows update that uniquely identifies the hotfix.
- Ensure: Ensures that the hotfix is Present or Absent.
- UpdateNow: Indicates if the resource should trigger an update during consistency (including initial.)
- Category: Indicates the categories (one or more) of updates the resource should update for. 'Security', 'Important', 'Optional'. Default: 'Security' (please note that security is not mutually exclusive with Important and Optional, so selecting Important may install some security updates, etc.)
- Notifications: Sets the windows update agent notification setting. Supported options are 'disabled' and 'ScheduledInstallation'. Documentation from Windows Update
- Source: Sets the service windows update agent will use for searching for updates. Supported options are 'MicrosoftUpdate' and 'WindowsUpdate'. Note that 'WSUS' is currently reserved for future use.
- IsSingleInstance: Should always be yes. Ensures you can only have one instance of this resource in a configuration.
- RetryAttempts: Specifies the number of retries when some known transient errors are raised during calls to Windows Update. Defaults to 3 attempts. Known transient errors 0x8024402c, 0x8024401c, 0x80244022, 0x80244010.
- Retry Delay: Specifies the delay in seconds before each retry. Defaults to 0.
Note: xMicrosoftUpdate
is deprecated. Please use xWindowsUpdateAgent
.
- Ensure: Determines whether the Microsoft Update service should be enabled (ensure) or disabled (absent) in Windows Update.
- Added Retry logic to known transisent errors (issue #24).
- xWindowsUpdateAgent: Fixed verbose statement returning incorrect variable
- Tests no longer fail on
Assert-VerifiableMocks
, these are now renamed toAssert-VerifiableMock
(breaking change in Pester v4). - README.md has been updated with correct description of the resources (issue #58).
- Updated appveyor.yml to use the correct parameters to call the test framework.
- Update appveyor.yml to use the default template.
- Added default template files .gitattributes, and .gitignore, and .vscode folder.
- xWindowsUpdateAgent: Fix Get-TargetResource returning incorrect key
- Converted appveyor.yml to install Pester from PSGallery instead of from Chocolatey.
- Fixed PSScriptAnalyzer issues.
- Fixed common test breaks (markdown style, and example style).
- Added CodeCov.io reporting
- Deprecated xMicrosoftUpdate as it's functionality is replaced by xWindowsUpdateAgent
- Added xWindowsUpdateAgent
- Fixed PSScriptAnalyzer error in examples
- MSFT_xWindowsUpdate: Fixed an issue in the Get-TargetResource function, resulting in the Get-DscConfiguration cmdlet now working appropriately when the resource is applied.
- MSFT_xWindowsUpdate: Fixed an issue in the Set-TargetResource function that was causing the function to fail when the installation of a hotfix did not provide an exit code.
- Minor fixes
- Added xMicrosoftUpdate DSC resource which can be used to enable/disable Microsoft Update in the Windows Update Settings.
- Initial release with the xHotfix resource
This configuration will install the hotfix from the .msu file given. If the hotfix with the required hotfix ID is already present on the system, the installation is skipped.
Configuration UpdateWindowsWithPath
{
Node 'NodeName'
{
xHotfix HotfixInstall
{
Ensure = "Present"
Path = "c:/temp/Windows8.1-KB2908279-v2-x86.msu"
Id = "KB2908279"
}
}
}
This configuration will install the hotfix from a URI that is connected to a particular hotfix ID.
Configuration UpdateWindowsWithURI
{
Node 'NodeName'
{
xHotfix HotfixInstall
{
Ensure = "Present"
Path = "http://hotfixv4.microsoft.com/Microsoft%20Office%20SharePoint%20Server%202007/sp2/officekb956056fullfilex64glb/12.0000.6327.5000/free/358323_intl_x64_zip.exe"
Id = "KB2937982"
}
}
}
This configuration will enable the Microsoft Update Settings (checkbox) in the Windows Update settings
Configuration MSUpdate
{
Import-DscResource -Module xWindowsUpdate
xMicrosoftUpdate "EnableMSUpdate"
{
Ensure = "Present"
}
}
Set Windows Update Agent to use Microsoft Update. Disables notification of
future updates. Install all Security and Important updates from Microsoft
Update during the configuration using UpdateNow = $true
.
Configuration MuSecurityImportant
{
Import-DscResource -ModuleName xWindowsUpdate
xWindowsUpdateAgent MuSecurityImportant
{
IsSingleInstance = 'Yes'
UpdateNow = $true
Category = @('Security','Important')
Source = 'MicrosoftUpdate'
Notifications = 'Disabled'
}
}
Sets the Windows Update Agent to use the Windows Update service
(vs Microsoft Update or WSUS) and sets the notifications to scheduled install
(no notifications, just automatically install the updates.) Does not install
updates during the configuration UpdateNow = $false
.
Configuration WuScheduleInstall
{
Import-DscResource -ModuleName xWindowsUpdate
xWindowsUpdateAgent MuSecurityImportant
{
IsSingleInstance = 'Yes'
UpdateNow = $false
Source = 'WindowsUpdate'
Notifications = 'ScheduledInstallation'
}
}