ansible.windows.win_feature – Installs and uninstalls Windows Features on Windows Server

Note

This plugin is part of the ansible.windows collection (version 1.4.0).

To install it use: ansible-galaxy collection install ansible.windows.

To use it in a playbook, specify: ansible.windows.win_feature.

Synopsis

  • 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.

Parameters

Parameter Choices/Defaults Comments
include_management_tools
boolean
    Choices:
  • no ←
  • yes
Adds the corresponding management tools to the specified feature.
Not supported in Windows 2008 R2 and will be ignored.
include_sub_features
boolean
    Choices:
  • no ←
  • yes
Adds all subfeatures of the specified feature.
name
list / elements=string / required
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 Get-WindowsFeature.
source
string
Specify a source to install the feature from.
Not supported in Windows 2008 R2 and will be ignored.
Can either be {driveletter}:\sources\sxs or \\{IP}\share\sources\sxs.
state
string
    Choices:
  • absent
  • present ←
State of the features or roles on the system.

See Also

See also

chocolatey.chocolatey.win_chocolatey

The official documentation on the chocolatey.chocolatey.win_chocolatey module.

ansible.windows.win_package

The official documentation on the ansible.windows.win_package module.

Examples

- name: Install IIS (Web-Server only)
  ansible.windows.win_feature:
    name: Web-Server
    state: present

- name: Install IIS (Web-Server and Web-Common-Http)
  ansible.windows.win_feature:
    name:
    - Web-Server
    - Web-Common-Http
    state: present

- name: Install NET-Framework-Core from file
  ansible.windows.win_feature:
    name: NET-Framework-Core
    source: C:\Temp\iso\sources\sxs
    state: present

- name: Install IIS Web-Server with sub features and management tools
  ansible.windows.win_feature:
    name: Web-Server
    state: present
    include_sub_features: yes
    include_management_tools: yes
  register: win_feature

- name: Reboot if installing Web-Server feature requires it
  ansible.windows.win_reboot:
  when: win_feature.reboot_required

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
exitcode
string
always
The stringified exit code from the feature installation/removal command.

Sample:
Success
feature_result
complex
success
List of features that were installed or removed.

 
display_name
string
always
Feature display name.

Sample:
Telnet Client
 
id
integer
always
A list of KB article IDs that apply to the update.

Sample:
44
 
message
list / elements=string
always
Any messages returned from the feature subsystem that occurred during installation or removal of this feature.

 
reboot_required
boolean
always
True when the target server requires a reboot as a result of installing or removing this feature.

Sample:
True
 
restart_needed
boolean
always
DEPRECATED in Ansible 2.4 (refer to reboot_required instead). True when the target server requires a reboot as a result of installing or removing this feature.

Sample:
True
 
skip_reason
string
always
The reason a feature installation or removal was skipped.

Sample:
NotSkipped
 
success
boolean
always
If the feature installation or removal was successful.

Sample:
True
reboot_required
boolean
success
True when the target server requires a reboot to complete updates (no further updates can be installed until after a reboot).

Sample:
True


Authors

  • Paul Durivage (@angstwad)

  • Trond Hindenes (@trondhindenes)