salt.modules.win_wua

Module for managing Windows Updates using the Windows Update Agent.

New in version 2015.8.0.

depends:
  • win32com
  • pythoncom
salt.modules.win_wua.download_update(guid=None)

Downloads a single update

GUID
A GUID for the update to be downloaded

CLI Examples:

salt '*' win_wua.download_update 12345678-abcd-1234-abcd-1234567890ab
salt.modules.win_wua.download_updates(guid=None)

Downloads updates that match the list of passed GUIDs. It's easier to use this function by using list_updates and setting install=True.

GUID
A list of GUIDs to be downloaded

CLI Examples:

# Normal Usage
salt '*' win_wua.download_updates                 guid=['12345678-abcd-1234-abcd-1234567890ab',                      '87654321-dcba-4321-dcba-ba0987654321']
salt.modules.win_wua.install_update(guid=None)

Installs a single update

GUID
A GUID for the update to be installed

CLI Examples:

salt '*' win_wua.install_update 12345678-abcd-1234-abcd-1234567890ab
salt.modules.win_wua.install_updates(guid=None)

Installs updates that match the passed criteria. It's easier to use this function by using list_updates and setting install=True.

GUID
A list of GUIDs to be installed

CLI Examples:

# Normal Usage
salt '*' win_wua.install_updates                 guid=['12345678-abcd-1234-abcd-1234567890ab',                      '87654321-dcba-4321-dcba-ba0987654321']
salt.modules.win_wua.list_update(name=None, download=False, install=False)

Returns details for all updates that match the search criteria

name The name of the update you're searching for. This can be the GUID (preferred), a KB number, or the full name of the update. Run list_updates to get the GUID for the update you're looking for.

download
Download the update returned by this function. Run this function first to see if the update exists, then set download=True to download the update.
install
Install the update returned by this function. Run this function first to see if the update exists, then set install=True to install the update. This will override download=True

Returns a dict containing either a list of updates that match the name if download and install are both set to False. Should usually be a single update, but can return multiple if a partial name is given:

List of Updates:
{'<GUID>': {'Title': <title>,
            'KB': <KB>,
            'GUID': <the globally uinique identifier for the update>
            'Description': <description>,
            'Downloaded': <has the update been downloaded>,
            'Installed': <has the update been installed>,
            'Mandatory': <is the update mandatory>,
            'UserInput': <is user input required>,
            'EULAAccepted': <has the EULA been accepted>,
            'Severity': <update severity>,
            'NeedsReboot': <is the update installed and awaiting reboot>,
            'RebootBehavior': <will the update require a reboot>,
            'Categories': [ '<category 1>',
                            '<category 2>',
                            ...]
            }
}

CLI Examples:

# Recommended Usage using GUID without braces
# Use this to find the status of a specific update
salt '*' wua.list_update 12345678-abcd-1234-abcd-1234567890ab

# Use the following if you don't know the GUID:

# Using a KB number (could possibly return multiple results)
# Not all updates have an associated KB
salt '*' wua.list_update KB3030298

# Using part or all of the name of the update
# Could possibly return multiple results
# Not all updates have an associated KB
salt '*' wua.list_update 'Microsoft Camera Codec Pack'
salt.modules.win_wua.list_updates(software=True, drivers=False, summary=False, installed=False, categories=None, severities=None, download=False, install=False)

Returns a detailed list of available updates or a summary

software
Include software updates in the results (default is True)
drivers
Include driver updates in the results (default is False)
summary
True: Return a summary of updates available for each category. False (default): Return a detailed list of avialable updates.
installed
Include installed updates in the results (default if False)
download
(Overrides reporting functionality) Download the list of updates returned by this function. Run this function first to see what will be installed, then set download=True to download the updates.
install
(Overrides reporting functionality) Install the list of updates returned by this function. Run this function first to see what will be installed, then set install=True to install the updates. This will override download=True
categories

Specify the categories to list. Must be passed as a list. All categories returned by default.

Categories include the following:

  • Critical Updates
  • Definition Updates
  • Drivers (make sure you set drivers=True)
  • Feature Packs
  • Security Updates
  • Update Rollups
  • Updates
  • Update Rollups
  • Windows 7
  • Windows 8.1
  • Windows 8.1 drivers
  • Windows 8.1 and later drivers
  • Windows Defender
severities

Specify the severities to include. Must be passed as a list. All severities returned by default.

Severities include the following:

  • Critical
  • Important

Returns a dict containing either a summary or a list of updates:

List of Updates:
{'<GUID>': {'Title': <title>,
            'KB': <KB>,
            'GUID': <the globally uinique identifier for the update>
            'Description': <description>,
            'Downloaded': <has the update been downloaded>,
            'Installed': <has the update been installed>,
            'Mandatory': <is the update mandatory>,
            'UserInput': <is user input required>,
            'EULAAccepted': <has the EULA been accepted>,
            'Severity': <update severity>,
            'NeedsReboot': <is the update installed and awaiting reboot>,
            'RebootBehavior': <will the update require a reboot>,
            'Categories': [ '<category 1>',
                            '<category 2>',
                            ...]
            }
}

Summary of Updates:
{'Total': <total number of updates returned>,
 'Available': <updates that are not downloaded or installed>,
 'Downloaded': <updates that are downloaded but not installed>,
 'Installed': <updates installed (usually 0 unless installed=True)>,
 'Categories': { <category 1>: <total for that category>,
                 <category 2>: <total for category 2>,
                 ... }
}

CLI Examples:

# Normal Usage (list all software updates)
salt '*' wua.list_updates

# List all updates with categories of Critical Updates and Drivers
salt '*' wua.list_updates categories=['Critical Updates','Drivers']

# List all Critical Security Updates
salt '*' wua.list_updates categories=['Security Updates']                severities=['Critical']

# List all updates with a severity of Critical
salt '*' wua.list_updates severities=['Critical']

# A summary of all available updates
salt '*' wua.list_updates summary=True

# A summary of all Feature Packs and Windows 8.1 Updates
salt '*' wua.list_updates categories=['Feature Packs','Windows 8.1']                summary=True