ansible.windows.win_feature (2.3.0) — module

Installs and uninstalls Windows Features on Windows Server

Authors: Paul Durivage (@angstwad), Trond Hindenes (@trondhindenes)

Install collection

Install with ansible-galaxy collection install ansible.windows:==2.3.0


Add to requirements.yml

  collections:
    - name: ansible.windows
      version: 2.3.0

Description

Installs or uninstalls Windows Roles or Features on Windows Server.

This module uses the Add/Remove-WindowsFeature Cmdlets on Windows 2008 R2 and Install/Uninstall-WindowsFeature Cmdlets on Windows 2012, which are not available on client os machines.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Install IIS (Web-Server only)
  ansible.windows.win_feature:
    name: Web-Server
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Install IIS (Web-Server and Web-Common-Http)
  ansible.windows.win_feature:
    name:
    - Web-Server
    - Web-Common-Http
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Install NET-Framework-Core from file
  ansible.windows.win_feature:
    name: NET-Framework-Core
    source: C:\Temp\iso\sources\sxs
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Install IIS Web-Server with sub features and management tools
  ansible.windows.win_feature:
    name: Web-Server
    state: present
    include_sub_features: true
    include_management_tools: true
  register: win_feature
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Reboot if installing Web-Server feature requires it
  ansible.windows.win_reboot:
  when: win_feature.reboot_required

Inputs

    
name:
    description:
    - Names of roles or features to install as a single feature or a comma-separated list
      of features.
    - To list all available features use the PowerShell command C(Get-WindowsFeature).
    elements: str
    required: true
    type: list

state:
    choices:
    - absent
    - present
    default: present
    description:
    - State of the features or roles on the system.
    type: str

source:
    description:
    - Specify a source to install the feature from.
    - Not supported in Windows 2008 R2 and will be ignored.
    - Can either be C({driveletter}:\sources\sxs) or C(\\{IP}\share\sources\sxs).
    type: str

include_sub_features:
    default: false
    description:
    - Adds all subfeatures of the specified feature.
    type: bool

include_management_tools:
    default: false
    description:
    - Adds the corresponding management tools to the specified feature.
    - Not supported in Windows 2008 R2 and will be ignored.
    type: bool

Outputs

exitcode:
  description: The stringified exit code from the feature installation/removal command.
  returned: always
  sample: Success
  type: str
feature_result:
  contains:
    display_name:
      description: Feature display name.
      returned: always
      sample: Telnet Client
      type: str
    id:
      description: A list of KB article IDs that apply to the update.
      returned: always
      sample: 44
      type: int
    message:
      description: Any messages returned from the feature subsystem that occurred
        during installation or removal of this feature.
      elements: str
      returned: always
      sample: []
      type: list
    reboot_required:
      description: True when the target server requires a reboot as a result of installing
        or removing this feature.
      returned: always
      sample: true
      type: bool
    restart_needed:
      description: DEPRECATED in Ansible 2.4 (refer to C(reboot_required) instead).
        True when the target server requires a reboot as a result of installing or
        removing this feature.
      returned: always
      sample: true
      type: bool
    skip_reason:
      description: The reason a feature installation or removal was skipped.
      returned: always
      sample: NotSkipped
      type: str
    success:
      description: If the feature installation or removal was successful.
      returned: always
      sample: true
      type: bool
  description: List of features that were installed or removed.
  returned: success
  sample: null
  type: complex
reboot_required:
  description:
  - True when the target server indicates a reboot is required (no further updates
    can be installed until after a reboot).
  - This my be true even if not change had occurred as the value is derived from the
    server state.
  returned: success
  sample: true
  type: bool

See also