Add, remove, or hide Windows features

Windows has optional features that aren't included by default, but you can add later. These features are called Features on Demand, and can be added at any time. Some of these features are language resources like language packs or handwriting support. On organization-owned devices, you can control access to these other features. You can use group policy or mobile device management (MDM) policies to hide the UI from users, or use Windows PowerShell to enable or disable specific features.

Use the Windows Settings app to add or remove features

Open the Optional features pane in the Settings app by selecting the following link:

or

  1. Right-click on the Start menu and select Run.

  2. In the Run window, next to Open:, enter:

    ms-settings:optionalfeatures
    

    and then select OK.

or

  1. Right-click on the Start menu and select Settings.

  2. In the left hand pane of the Settings app, select System.

  3. In the right hand System pane, select Optional features.

Note

The navigation steps, UI elements, and UI text in this section are based on the latest version of Windows 11 with the latest cumulative update installed. For other versions of Windows 11 that are currently supported or don't have the latest cumulative update, some of the navigation steps, UI elements, and UI text might be different. For example, the Optional features pane might be located under Settings > Apps.

  1. Right-click on the Start menu and select Settings.

  2. In the Settings app, select System.

  3. In the left hand pane, select Optional features.

Note

The navigation steps, UI elements, and UI text in this section are based on Windows 10 22H2 with the latest cumulative update installed. For other versions of Windows 10 that are currently supported or don't have the latest cumulative update, some of the navigation steps, UI elements, and UI text might be different. For example, the Optional features pane might be located under Settings > Apps > Apps & features.

Add a feature

Once the System > Optional features pane is open, add a feature with the following steps:

  1. Select the View features button next to Add an optional feature.

  2. In the Add an optional feature window that opens:

    1. Find the desired feature to add and then select the box next to the feature to add it. Multiple features can be selected.

    2. Once all of the desired features are selected, select the Next button.

    3. Review the selected list of features and then select the Add button to add the selected features.

Once the Optional features pane is open, add a feature with the following steps:

  1. Select the + button next to Add a feature.

  2. In the Add an optional feature window that opens:

    1. Find the desired feature to add and then select the box next to the feature to add it. Multiple features can be selected.

    2. Once all of the desired features are selected, select the Add button.

Important

Windows Update is used to add the optional features. The device needs to be online so Windows Update can download the content that it needs to add.

Remove a feature

Once the System > Optional features pane is open, remove a feature with the following steps:

  1. Under Installed features, search for the feature that needs to be removed in the Search installed features search box, or scroll through the list of added features until the feature that needs to be removed is found.

  2. Once the feature that needs to be removed is found, select the feature to expand it, and then select the Remove button.

Once the Optional features pane is open, remove a feature with the following steps:

  1. Under Installed features, search for the feature that needs to be removed in the Find an installed optional feature search box, or scroll through the list of added features until the feature that needs to be removed is found.

  2. Once the feature that needs to be removed is found, select the feature to expand it, and then select the Remove button.

Use group policy or MDM policies to hide Windows features

By default, the OS might show Windows features and allow users to add and remove these optional apps and features. To hide Windows features on your user devices, you can use group policy or an MDM provider like Microsoft Intune.

Group policy

If you use group policy, use the User Configuration\Administrative Template\Control Panel\Programs\Hide "Windows Features" policy. By default, this policy might be set to Not configured, which means users can add or remove features. When this setting is Enabled, the settings page to add optional features is hidden on the device.

You can't use group policy to disable specific Windows features. If you want to disable specific features, use Windows PowerShell.

If you want to hide the entire Apps feature in the Settings app, use the User Configuration\Administrative Template\Control Panel\Programs\Hide "Programs and Features" page policy.

MDM

Using Microsoft Intune, you can use administrative templates or the settings catalog to hide Windows features.

If you want to hide the entire Apps feature in the Settings app, you can use a configuration policy on Intune enrolled devices. For more information on the settings you can configure, see Control Panel and Settings device restrictions in Microsoft Intune.

Use Windows PowerShell to disable specific features

To disable specific features, use the Windows PowerShell Disable-WindowsOptionalFeature cmdlet.

Note

There isn't a group policy that disables specific Windows features.

To automate disabling specific features, create a scheduled task to run a PowerShell script. For more information about Windows task scheduler, see Task Scheduler for developers.

Microsoft Intune can also run PowerShell scripts. For more information, see Use PowerShell scripts on Windows client devices in Intune.

To enable specific features, use the Enable-WindowsOptionalFeature cmdlet.

Another useful PowerShell cmdlet is Get-WindowsOptionalFeature. Use this cmdlet to view information about optional features in the current OS or a mounted image. This cmdlet returns the current state of features, and whether a restart might be required when the state changes.