# win_optional_feature – Manage optional Windows features

New in version 2.8.

- Synopsis
- Parameters
- See Also
- Examples
- Return Values
- Status

## Synopsis

- Install or uninstall optional Windows features on non-Server Windows.
- This module uses the `Enable-WindowsOptionalFeature` and `Disable-WindowsOptionalFeature` cmdlets.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

include_parent
boolean

Choices:
- no ←
- yes

Whether to enable the parent feature and the parent's dependencies.

name list / required |  | The name(s) of the feature to install. This relates to `FeatureName` in the Powershell cmdlet. To list all available features use the PowerShell command `Get-WindowsOptionalFeature`.
source string |  | Specify a source to install the feature from. Can either be `{driveletter}:\sources\sxs` or `\\{IP}\share\sources\sxs`.

state
string

Choices:
- absent
- present ←

Whether to ensure the feature is absent or present on the system.

## See Also

See also

win_chocolatey – Manage packages using chocolatey
  The official documentation on the win_chocolatey module.
win_feature – Installs and uninstalls Windows Features on Windows Server
  The official documentation on the win_feature module.
win_package – Installs/uninstalls an installable package
  The official documentation on the win_package module.

## Examples

    - name: Install .Net 3.5
      win_optional_feature:
        name: NetFx3
        state: present

    - name: Install .Net 3.5 from source
      win_optional_feature:
        name: NetFx3
        source: \\share01\win10\sources\sxs
        state: present

    - name: Install Microsoft Subsystem for Linux
      win_optional_feature:
        name: Microsoft-Windows-Subsystem-Linux
        state: present
      register: wsl_status

    - name: Reboot if installing Linux Subsytem as feature requires it
      win_reboot:
      when: wsl_status.reboot_required

    - name: Install multiple features in one task
      win_optional_feature:
        name:
        - NetFx3
        - Microsoft-Windows-Subsystem-Linux
        state: present

## Return Values

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

Key | Returned | Description
--- | --- | ---
reboot_required boolean | success | True when the target server requires a reboot to complete updates Sample: True

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Carson Anderson (@rcanderson23)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.