Enable WindowsOptionalFeature - PowerShell


Overview

Enable-WindowsOptionalFeature enables optional Windows features that are not installed by default. This command allows you to activate specialized components or functionalities to enhance the operating system’s capabilities.

Syntax

Enable-WindowsOptionalFeature [-FeatureName] <FeatureName> [-All] [-Online] [-NoRestart] [-ExcludeAllSubFeatures] [-AllowAllSubFeatures] [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]

Options/Flags

  • -FeatureName: Specify the name of the Windows feature to enable.
  • -All: Enable all optional features available on the system.
  • -Online: Enable features that require an Internet connection to install.
  • -NoRestart: Suppress system restarts required to complete feature installation.
  • -ExcludeAllSubFeatures: Enable only the top-level feature without enabling its subfeatures.
  • -AllowAllSubFeatures: Enable all subfeatures of the specified feature.
  • -PassThru: Return an object representing the enabled feature.
  • -WhatIf: Show what the command would do without actually performing the action.
  • -Confirm: Prompt for confirmation before enabling the feature.

Examples

Enable a Specific Feature:

Enable-WindowsOptionalFeature -FeatureName "Hyper-V"

Enable All Features:

Enable-WindowsOptionalFeature -All

Enable Feature Online:

Enable-WindowsOptionalFeature -FeatureName "SNMP-Service" -Online

Common Issues

  • Feature Not Available: If the specified feature is not supported on the current system, the command will fail.
  • Restart Required: Some features may require a system restart to complete installation. By default, the command will restart automatically unless -NoRestart is specified.
  • Dependency Conflicts: Enabling a feature may require other dependent features to be installed first. These dependencies will be automatically resolved unless the -ExcludeAllSubFeatures option is used.

Integration

Enable and Install PowerShell Module:

Enable-WindowsOptionalFeature -FeatureName "Microsoft-Windows-PowerShell-Module-PackageImport"
  • Get-WindowsOptionalFeature: Retrieve information about installed and available Windows features.
  • Disable-WindowsOptionalFeature: Disable previously enabled Windows features.
  • Install-WindowsOptionalFeature: Install Windows features from a ZIP file.
  • Add-Feature: Add a feature to a Windows image using DISM.