Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
FREEDOM251

Freedom251 › Blog › DISM

How to Enable Optional Windows Features with PowerShell

By Freedom251 Team · · 10 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use PowerShell’s DISM cmdlets to discover the feature name on the Windows installation you are actually servicing, enable it with Enable-WindowsOptionalFeature, and then check the resulting state and restart indication. Use -Online for the running Windows installation, -Path for a mounted image, and -All when parent features or default dependencies are required.

The same workflow also explains what to do when Windows cannot find the feature payload, when the item is a capability package rather than an optional feature, and when you need to undo the change.

As an Amazon Associate I earn from qualifying purchases.

What PowerShell changes

Enable-WindowsOptionalFeature is the DISM PowerShell cmdlet that “enables or restores an optional feature in a Windows image,” according to Microsoft’s documentation. An image can be the Windows installation currently running on the computer or a separate installation mounted at a folder.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

PowerShell does not enable an arbitrary display name. It needs the exact feature identifier exposed by the target image. The safest sequence is therefore:

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
  1. Open an elevated PowerShell session.
  2. Inventory the target image and copy its exact FeatureName.
  3. Enable that name with the correct target parameter.
  4. Query the feature again and act on the returned state and restart indication.

Feature availability depends on Windows edition, build, image contents, and servicing policy. A name found on one computer is not guaranteed to exist in another image.

Before you begin

Use an administrator session

Servicing Windows features changes protected operating-system components. Start PowerShell with administrative rights: open Start, type PowerShell, right-click the result, choose Run as administrator, and approve the User Account Control prompt. In Windows Terminal, open an administrator PowerShell profile instead.

Know which image you are targeting

For the live installation, use -Online. “Online” means the operating system currently running, not an internet-only mode. For an offline installation, first mount the image and use -Path with the folder containing its Windows directory. In the examples below, C:offline is the mounted image path.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Expect edition and policy differences

Windows client editions do not expose exactly the same features. Enterprise deployment policies, Windows Update configuration, WSUS, language packs, and removed component payloads can also change what is available or where files are obtained. Always inventory the exact target before enabling anything.

Find the exact optional feature name

List optional features in the running installation with:

Get-WindowsOptionalFeature -Online

The output identifies each feature and reports its current state. Depending on the Windows build and cmdlet output, states can include enabled, disabled, or a state indicating that the payload is present or removed. The query also reports whether a restart may be needed after a state change.

Filter a large inventory

Use the -FeatureName parameter with a wildcard to narrow the list. For example:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Get-WindowsOptionalFeature -Online -FeatureName '*Hyper-V*'

This is a discovery query, not an instruction to enable every match. Review the returned FeatureName values and copy the exact identifier for the feature you intend to change. Avoid relying on a shortened display label, a name from a different Windows version, or a name copied from an unrelated image.

Inspect one known feature

Once you have the identifier, query it directly:

Get-WindowsOptionalFeature -Online -FeatureName "FeatureName"

Replace FeatureName with the value returned by your inventory. This confirms that the feature exists in the current image and shows its current state before you make a change.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Enable a feature in the running Windows installation

With the exact identifier confirmed, run:

Enable-WindowsOptionalFeature -Online -FeatureName "FeatureName" -All

-All tells DISM to enable required parent features and their default dependencies when the selected feature needs them. It is useful when the feature is part of a hierarchy and avoids a separate failure caused by a disabled parent.

What to expect from the command

DISM evaluates the image, applies the feature state, and may obtain missing files from the configured servicing source. The command can finish without a restart, or it can report that a restart is required or may be required. Do not assume every feature change needs a reboot.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

After the command completes, query the same identifier again:

Get-WindowsOptionalFeature -Online -FeatureName "FeatureName"

Confirm that the state reflects the requested change and read the restart indication returned for that operation. If Windows says a restart is required, restart before testing software that depends on the feature. If no restart is indicated, you can normally continue without one, although a particular application may still have its own restart requirement.

Make the operation repeatable in a script

For deployment scripts, keep the discovery and change steps explicit. A minimal pattern is:

$feature = "FeatureName"
Get-WindowsOptionalFeature -Online -FeatureName $feature
Enable-WindowsOptionalFeature -Online -FeatureName $feature -All
Get-WindowsOptionalFeature -Online -FeatureName $feature

Do not substitute a guessed name in an unattended script. If the script will run on multiple editions or builds, add a discovery or validation step and handle a missing feature as a controlled condition rather than assuming every machine has the same catalog.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Enable a feature in a mounted offline image

Offline servicing changes an image that is not currently running. The image must already be mounted, and the path must point to its mounted root. First list the image’s features:

Get-WindowsOptionalFeature -Path "C:offline"

Then enable the feature using the offline parameter set:

Enable-WindowsOptionalFeature -Path "C:offline" -FeatureName "FeatureName" -All

Use the feature name returned from that offline image, not necessarily the name returned by the host computer. The image may be a different Windows release, edition, language configuration, or servicing level.

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord | 6.35mm Jack, Durable Design, Stage and Home Studio Use, Low Noise Shielded Electric Cord for Bass, Keyboard, Amp, Mixer
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

When an additional package path is needed

Some features outside the Windows Foundation package need the relevant package name or package path in addition to the mounted-image path. The exact requirement depends on the feature package and image. Do not copy a package path from an unrelated build; identify a source that matches the image you are servicing and your organization’s servicing policy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify the offline change

Query the mounted image again:

Get-WindowsOptionalFeature -Path "C:offline" -FeatureName "FeatureName"

Check the resulting state and any restart indication reported for the image. A restart applies when that image is later booted; servicing an offline image does not reboot the currently running host.

Handle missing feature files and servicing sources

A feature can be known to the image but still lack the files needed to enable it. This happens when component payloads have been removed or when the configured servicing source is unavailable. Supply a suitable local or network source with -Source:

Enable-WindowsOptionalFeature -Online -FeatureName "FeatureName" -All -Source "D:matching-source"

The source must contain files appropriate to the feature, Windows build, and image being serviced. There is no universal source folder that works for every optional feature, so do not guess a path. Use media, a network share, or another approved source that matches your deployment environment.

Prevent a Windows Update lookup

Add -LimitAccess when Windows Update must not be contacted:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Enable-WindowsOptionalFeature -Online -FeatureName "FeatureName" -All -Source "D:matching-source" -LimitAccess

-LimitAccess prevents DISM from checking Windows Update as a source for an online image. Use it only when the supplied source is available and complete. If you have not supplied a suitable source and Windows Update is allowed by policy, leave -LimitAccess off so the configured servicing source can be used.

Why a source can still fail

  • The source belongs to a different Windows build or edition.
  • The source contains a different language or component revision.
  • The feature’s payload was removed and the source does not include the required files.
  • Network permissions or servicing policy block access to the source.
  • -LimitAccess was used even though the local source was incomplete.

When a source error occurs, identify the target image and feature first, then choose a matching source. Repeating the same command with a guessed path rarely fixes a component mismatch.

Optional features versus capability packages

Not every optional Windows component is catalogued as a Windows optional feature. Some are Windows capability packages and use a different cmdlet family. Inventory capabilities in the running installation with:

Get-WindowsCapability -Online

Capabilities have their own package identity syntax. Copy the exact Name returned by the inventory rather than trying to convert a friendly label into a package name.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Install a capability online

Use Add-WindowsCapability for a capability:

Add-WindowsCapability -Online -Name "CapabilityName"

With no explicit source, the documented online pattern relies on the configured Windows Update or WSUS connectivity. If the payload is available from local files or a network location, specify that source:

Add-WindowsCapability -Online -Name "CapabilityName" -Source "D:matching-source"

As with optional features, -LimitAccess can stop Windows Update lookup when a suitable source is supplied:

Add-WindowsCapability -Online -Name "CapabilityName" -Source "D:matching-source" -LimitAccess

Do not use Enable-WindowsOptionalFeature for a capability name, and do not use Add-WindowsCapability for a feature identifier. The inventory command tells you which package type you have.

Capability inventory for a remote source

Get-WindowsCapability can report capabilities installed in the running operating system or available from a remote source, depending on the parameter set and source you use. For offline capability servicing, follow the parameter set supported by the mounted image and provide a source that matches it; do not assume the live system’s capability list applies unchanged to a separate image.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Optional features in Settings: when the GUI is simpler

Windows 10 and Windows 11 clients also provide an Optional features page in Settings. The labels and exact location vary with the Windows release and cumulative-update level, but the flow is generally to open Settings, search for Optional features, choose Add a feature or View features, select the item, and install it.

Microsoft’s client guidance describes this Settings flow as using Windows Update to download required content. That makes it convenient for a single managed PC, but it is less repeatable than a documented PowerShell command and may be blocked by update policy. Use PowerShell when you need an exact feature identifier, offline-image servicing, source control, or repeatable deployment.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Windows client features are not Windows Server roles

The commands in this guide target Windows client optional features and DISM-style image servicing. Microsoft’s Desired State Configuration guidance distinguishes Windows Server roles and features and directs administrators to use the WindowsFeature resource for those server workloads. Do not apply client optional-feature instructions as a substitute for the server role-and-feature tooling required by your server deployment.

Troubleshooting by symptom

“Feature name not found”

Run Get-WindowsOptionalFeature -Online on the live system or use -Path against the mounted image. Filter with a wildcard, inspect the exact FeatureName, and copy it exactly. If no match exists, the feature may not be included in that edition, image, or Windows version.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A parent or dependency is disabled

Re-run the enable operation with -All. This enables required parent features and their default dependencies. If the operation still fails, inspect the returned error and verify that the image contains the needed package payload.

DISM cannot find source files

Provide an appropriate -Source and verify that it matches the target image’s build, edition, language, and component revision. Use -LimitAccess only when you deliberately want to prevent Windows Update lookup and the supplied source is complete.

The command says a restart may be required

Query the feature again after the operation and follow the restart indication in the result. Restart only when the servicing result calls for it; a reboot is not universal for every feature change.

The item is really a capability

Check Get-WindowsCapability -Online. If the desired package appears there, install it with Add-WindowsCapability and copy its exact capability name.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The command succeeds but the application cannot use the feature

Confirm the post-change state with the appropriate Get-WindowsOptionalFeature or capability query. If a restart is indicated, perform it. Then check that the application supports the Windows edition and feature version you enabled; enabling a component does not override an application’s own compatibility requirements.

How to disable or remove a feature

To turn off an optional feature while retaining its component files, run:

Disable-WindowsOptionalFeature -Online -FeatureName "FeatureName"

For an offline image, replace -Online with -Path "C:offline". Query the feature afterward to verify the new state and restart indication.

The -Remove option goes further: it removes the feature’s files while retaining its manifest. Future restoration may then require a source such as Windows Update or a network share:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Disable-WindowsOptionalFeature -Online -FeatureName "FeatureName" -Remove

Use removal deliberately. Disabling is easier to reverse when the payload remains in the image; removing the payload saves image space but creates a source dependency for restoration.

Choosing the right command

Need Inventory command Change command Target or source control
Enable an optional feature in the running client OS Get-WindowsOptionalFeature -Online Enable-WindowsOptionalFeature -Online -FeatureName "FeatureName" -All Windows Update or configured servicing source; add -Source when needed
Enable an optional feature in a mounted image Get-WindowsOptionalFeature -Path "C:offline" Enable-WindowsOptionalFeature -Path "C:offline" -FeatureName "FeatureName" -All Source and package must match the offline image
Install a capability package Get-WindowsCapability -Online Add-WindowsCapability -Online -Name "CapabilityName" Use -Source for local or network files; -LimitAccess blocks Windows Update lookup
Disable an optional feature Get-WindowsOptionalFeature for the relevant target Disable-WindowsOptionalFeature Add -Remove only when you intend to delete payload files

A safe operational checklist

  • Confirm you are in an elevated PowerShell session.
  • Identify whether the target is the live OS or a mounted image.
  • Inventory the target with the matching Get-WindowsOptionalFeature command.
  • Copy the exact feature name; do not infer it from a friendly label.
  • Use -All when parent features and default dependencies are required.
  • Choose a matching source if payload files are missing.
  • Use -LimitAccess only when Windows Update must be blocked and your source is ready.
  • Use capability cmdlets when the item is listed as a capability.
  • Query the result again and follow the returned restart indication.
  • Record the Windows edition, build, feature name, source, and outcome for repeatable deployment.

Bottom line

For a running Windows client installation, the dependable pattern is Get-WindowsOptionalFeature -Online, copy the exact feature name, run Enable-WindowsOptionalFeature -Online -FeatureName "FeatureName" -All, and query the feature again. Switch to -Path for a mounted image, add a matching -Source when payload files are unavailable, and use Get-WindowsCapability with Add-WindowsCapability when the item is a capability rather than an optional feature.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

DISMOptional FeaturesPowerShellsystem administrationWindowsWindows 10Windows 11

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.