# salt.states.win_wua

Installation of Windows Updates using the Windows Update Agent

New in version 2017.7.0.

Salt can manage Windows updates via the "wua" state module. Updates can be installed and removed. Update management declarations are as follows:

For installation:

    # Install a single update using the KB
    KB3194343:
      wua.installed

    # Install a single update using the name parameter
    install_update:
      wua.installed:
        - name: KB3194343

    # Install multiple updates using the updates parameter and a combination of
    # KB number and GUID
    install_updates:
      wua.installed:
       - updates:
         - KB3194343
         - bb1dbb26-3fb6-45fd-bb05-e3c8e379195c

For removal:

    # Remove a single update using the KB
    KB3194343:
      wua.removed

    # Remove a single update using the name parameter
    remove_update:
      wua.removed:
        - name: KB3194343

    # Remove multiple updates using the updates parameter and a combination of
    # KB number and GUID
    remove_updates:
      wua.removed:
       - updates:
         - KB3194343
         - bb1dbb26-3fb6-45fd-bb05-e3c8e379195c

salt.states.win_wua.installed(name, updates=None)

  Ensure Microsoft Updates are installed. Updates will be downloaded if needed.

  Parameters:

    - name (str) -- The identifier of a single update to install.

    - updates (list) -- A list of identifiers for updates to be installed. Overrides `name`. Default is None.

  Note

  Identifiers can be the GUID, the KB number, or any part of the Title of the Microsoft update. GUIDs and KBs are the preferred method to ensure you're installing the correct update.

  Warning

  Using a partial KB number or a partial Title could result in more than one update being installed.

  Returns:

    A dictionary containing the results of the update. There are three

      keys under changes. installed is a list of updates that were successfully installed. failed is a list of updates that failed to install. superseded is a list of updates that were not installed because they were superseded by another update.

  Return type:

    dict

  CLI Example:

      # using a GUID
      install_update:
        wua.installed:
          - name: 28cf1b09-2b1a-458c-9bd1-971d1b26b211

      # using a KB
      install_update:
        wua.installed:
          - name: KB3194343

      # using the full Title
      install_update:
        wua.installed:
          - name: Security Update for Adobe Flash Player for Windows 10 Version 1607 (for x64-based Systems) (KB3194343)

      # Install multiple updates
      install_updates:
        wua.installed:
          - updates:
            - KB3194343
            - 28cf1b09-2b1a-458c-9bd1-971d1b26b211

salt.states.win_wua.removed(name, updates=None)

  Ensure Microsoft Updates are uninstalled.

  Parameters:

    - name (str) -- The identifier of a single update to uninstall.

    - updates (list) -- A list of identifiers for updates to be removed. Overrides `name`. Default is None.

  Note

  Identifiers can be the GUID, the KB number, or any part of the Title of the Microsoft update. GUIDs and KBs are the preferred method to ensure you're uninstalling the correct update.

  Warning

  Using a partial KB number or a partial Title could result in more than one update being removed.

  Returns:

    A dictionary containing the results of the removal. There are

      three keys under changes. removed is a list of updates that were successfully removed. failed is a list of updates that failed to be removed.

  Return type:

    dict

  CLI Example:

      # using a GUID
      uninstall_update:
        wua.removed:
          - name: 28cf1b09-2b1a-458c-9bd1-971d1b26b211

      # using a KB
      uninstall_update:
        wua.removed:
          - name: KB3194343

      # using the full Title
      uninstall_update:
        wua.removed:
          - name: Security Update for Adobe Flash Player for Windows 10 Version 1607 (for x64-based Systems) (KB3194343)

      # Install multiple updates
      uninstall_updates:
        wua.removed:
          - updates:
            - KB3194343
            - 28cf1b09-2b1a-458c-9bd1-971d1b26b211

salt.states.win_wua.uptodate(name, software=True, drivers=False, skip_hidden=False, skip_mandatory=False, skip_reboot=True, categories=None, severities=None)

  Ensure Microsoft Updates that match the passed criteria are installed. Updates will be downloaded if needed.

  This state allows you to update a system without specifying a specific update to apply. All matching updates will be installed.

  Parameters:

    - name (str) -- The name has no functional value and is only used as a tracking reference

    - software (bool) -- Include software updates in the results (default is True)

    - drivers (bool) -- Include driver updates in the results (default is False)

    - skip_hidden (bool) -- Skip updates that have been hidden. Default is False.

    - skip_mandatory (bool) -- Skip mandatory updates. Default is False.

    - skip_reboot (bool) -- Skip updates that require a reboot. Default is True.

    - categories (list) --

      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 (list) --

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

      Severities include the following:

      - Critical

      - Important

  Returns:

    A dictionary containing the results of the update. There are three

      keys under changes. installed is a list of updates that were successfully installed. failed is a list of updates that failed to install. superseded is a list of updates that were not installed because they were superseded by another update.

  Return type:

    dict

  CLI Example:

      # Update the system using the state defaults
      update_system:
        wua.uptodate

      # Update the drivers
      update_drivers:
        wua.uptodate:
          - software: False
          - drivers: True
          - skip_reboot: False

      # Apply all critical updates
      update_critical:
        wua.uptodate:
          - severities:
            - Critical