0XC0000296

STATUS_WMI_INSTANCE_NOT_FOUND (0XC0000296) Fix

Windows Errors Intermediate 👁 1 views 📅 May 26, 2026

This WMI error means your software passed a bad instance name. The fix is repairing the WMI repository. Here's why that works and how to do it.

You're running an app or script and it throws STATUS_WMI_INSTANCE_NOT_FOUND (0xC0000296). The message says the instance name wasn't recognized by a WMI data provider. Frustrating, especially when you know the instance exists. Let's fix it.

The Fast Fix

  1. Open an elevated Command Prompt (right-click cmd.exe → Run as Administrator).
  2. Run this command:
    winmgmt /salvagerepository
  3. Wait for the repair to complete — it may take a minute. You'll see a message like "WMI repository has been salvaged and rebuilt."
  4. Restart your computer.
  5. Try your failing app or script again.

That's it. Nine times out of ten, this resolves the error. If it doesn't, skip to the variations section below.

Why This Works

What's actually happening here is that the WMI repository — a database of management data stored in C:\Windows\System32\wbem\Repository — got corrupt or inconsistent. The repository holds mappings between instance names and the actual data providers. When a provider receives an instance name it can't resolve, it returns STATUS_WMI_INSTANCE_NOT_FOUND.

The winmgmt /salvagerepository command tells the WMI service to rebuild the repository from the MOF (Managed Object Format) files that define your system's management schema. It's not a simple delete-and-rebuild; it preserves existing data where possible, then recompiles the MOF definitions. Think of it as a database repair that keeps your data but fixes the structure.

An alternative command is winmgmt /resetrepository, which wipes everything and rebuilds from scratch. I don't recommend that unless the salvage fails — it can break vendor-specific WMI providers and requires re-installing some software. The salvage is safer.

The reason step 3 (restart) matters is that the WMI service caches repository data in memory. A reboot clears that cache and forces the service to load the repaired repository. Without the reboot, you might still see the old error because the service is holding stale references.

Less Common Variations & Their Fixes

The WMI Service Won't Start

If you can't even run winmgmt /salvagerepository because the WMI service is stuck or corrupted, you need a deeper repair. Symptoms: the service shows "Stopped" and can't be started from Services.msc, or you get access denied errors in the event log.

Fix:

  • Run winmgmt /verifyrepository to check the consistency. If it reports "inconsistent" or "corrupt", proceed.
  • Stop the WMI service manually: net stop winmgmt (must be admin).
  • Navigate to C:\Windows\System32\wbem\Repository and rename the Repository folder to Repository.old.
  • Restart the service: net start winmgmt. Windows will create a fresh repository from the embedded MOF files.
  • Reboot.

This is more destructive — you lose any custom WMI data (like hardware inventory snapshots). But it's the nuclear option that always works.

The Error Appears Only for a Specific Application

If the error only happens in one program (e.g., a backup tool, monitoring software, or a custom PowerShell script), the problem might be in the application's logic, not WMI itself.

Diagnose: Run wbemtest (Windows Management Instrumentation Tester). Connect to root\cimv2 and query for the instance your app is trying to access. For example, if the app queries for a network adapter named "Ethernet 2", try:

SELECT * FROM Win32_NetworkAdapter WHERE NetConnectionID = "Ethernet 2"

If this returns nothing, the instance truly doesn't exist — maybe the adapter was renamed or disabled. Check Device Manager or network settings. If it returns data, then the app is passing the wrong instance name, perhaps a typo or an old cached name. Contact the vendor.

The Error Occurs After a Windows Update

Windows updates sometimes change the WMI schema or MOF files. If the error started right after an update, the repository might need recompilation without salvage.

Fix: Run winmgmt /verifyrepository first. If it shows "inconsistent", run winmgmt /resetrepository — but only as a last resort because it kills third-party providers. After the reset, run winmgmt /resyncperf to re-register performance counters.

Prevention

  • Don't kill the WMI service. When it's in the middle of updating the repository, force-stopping it can corrupt the file. If you must restart it, use net stop winmgmt and wait for it to fully stop.
  • Keep Windows updated. Microsoft occasionally ships WMI fixes. Install every cumulative update.
  • Avoid third-party WMI providers that bundle with bad MOF files. Some monitoring tools install custom providers that conflict with built-in ones. If the error appeared after installing a new tool, uninstall it and see if that helps.
  • Run occasional WMI checks. I schedule winmgmt /verifyrepository once a month. Takes two seconds and catches corruption early.
  • Back up the repository if you customize it. If you've manually registered MOF files (not common, but some IT admins do), copy the entire Repository folder before any system changes.
Final thought: The salvage command is your first move, but if that fails, don't be afraid to rename the repository folder and start fresh. WMI will rebuild itself. Just be ready to re-run any scripts that populate custom WMI data.

Was this solution helpful?