0XC0000295

0XC0000295: WMI provider rejected a GUID — real fix

This error means WMI didn't recognize a GUID you passed. Usually from a corrupt WMI repository or a query mismatch. Here's how to fix it.

What this error actually means

You're getting 0XC0000295 (which maps to STATUS_WMI_NOT_FOUND). What's happening is your script, tool, or application passed a GUID (a class, method, or property identifier) to a WMI data provider — and that provider essentially said “I don't know what that is.”

This isn't a permissions issue or a network problem. It's almost always one of two things:

  • A corrupt WMI repository (common after failed updates, disk errors, or abrupt shutdowns)
  • A provider that's missing or didn't register its MOF files properly

I've seen this after installing a third-party monitoring tool that botched its WMI registration, or after a Windows Feature Update that left the repository in a half-baked state. The fix depends on how deep the damage is.

Fix 1: Quick WMI reset (30 seconds)

Before you do anything else, stop and restart the WMI service. This flushes temporary state and sometimes resolves transient GUID lookups.

  1. Open an elevated Command Prompt (Run as Administrator).
  2. Run these two commands back-to-back:
net stop winmgmt
net start winmgmt

If the service stops cleanly and starts again, test your original operation. If the error disappears, you had a stale cache — you're done.

If net start fails with “service did not respond,” move to Fix 2. That's a sign of a deeper repository problem.

Fix 2: Repository repair with winmgmt /salvagerepository (5 minutes)

WMI has a built-in salvage command that rebuilds the repository from the MOF definitions stored in %windir%\system32\wbem. It's non-destructive — it only fixes missing or corrupted objects, it doesn't blow away your custom namespaces.

  1. Open an elevated Command Prompt.
  2. Run:
winmgmt /salvagerepository

What's actually happening here is WMI parses every MOF file in the repository folder, re-registers the missing GUIDs, and cross-references them against the existing classes. This takes about 2–5 minutes on a modern system. You'll see no output until it's done.

When it finishes, restart the WMI service:

net stop winmgmt
net start winmgmt

Test your operation. If the error is gone, great. If not, or if the salvage command itself fails with an access violation, proceed to Fix 3.

Fix 3: Full repository rebuild — nuclear option (15+ minutes)

This is the real fix when the repository is so corrupt that even the salvage command can't parse it. You'll lose any custom WMI namespace registrations (like from third-party apps that added their own classes). You won't lose system functionality — Windows re-registers all built-in classes automatically.

Step 1: Stop the WMI service and delete the repository files.

e
net stop winmgmt
cd /d %windir%\system32\wbem
rd /s /q repository

Don't worry about the “access denied” on some files — the /q switch silences it, and WMI will recreate the folder structure on next restart.

Step 2: Re-register the default providers. This is the critical part. Run:

winmgmt /resetrepository

This command tells WMI to recreate the repository using the MOF files in the wbem folder. It's basically saying “start fresh from the golden image.”

Step 3: Manually compile all built-in MOF files. Skip this and you'll still get GUID errors for common classes like Win32_Process or Win32_Service.

for /f %f in ('dir /b *.mof') do mofcomp %f

This will take 5–10 minutes and produce a lot of output. You'll see some errors — that's normal, some MOF files depend on others and fail in isolation. The important thing is that the core system classes get registered.

Step 4: Restart WMI and reboot:

net start winmgmt
shutdown /r /t 0

After reboot, test your operation. If the error persists, you're dealing with a provider that didn't come from Microsoft — a third-party app (think backup agents, anti-virus, or management tools) that installed its own WMI provider and then got removed or corrupted. You'll need to reinstall that specific software.

When to stop and call it fixed

Test after each fix. Don't do all three out of habit. If the quick reset works, you saved yourself 15 minutes. If the salvage works, you avoided a full rebuild. The nuclear option is for when you can still see the error in Event Viewer's Applications and Services Logs > Microsoft > Windows > WMI-Activity > Operational with event ID 10 and the GUID still showing as unrecognized.

One more thing — if you're running Windows Server 2016 or older, the winmgmt /salvagerepository command is unreliable. Go straight to the full rebuild on those systems. I learned that the hard way.

Related Errors in Windows Errors
0X000002F7 Fix ERROR_PROCESS_NOT_IN_JOB (0X000002F7) – No Job Attached 0XC0262329 0XC0262329: Display adapter needs at least one video target 0X80280044 TPM_E_KEY_OWNER_CONTROL 0x80280044 fix 0XC01E0514 STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP 0XC01E0514

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.