Fix ERROR_WMI_INSTANCE_NOT_FOUND (0x00001069) on Windows
WMI can't find the instance you asked for. Usually a provider or permission issue. I'll show you how to fix it fast.
Quick answer for advanced users
Run winmgmt /verifyrepository in an admin Command Prompt. If it says inconsistent, run winmgmt /salvagerepository, then winmgmt /resetrepository. Re-register all WMI providers with for /f %s in ('dir /b %windir%\system32\wbem\*.dll') do regsvr32 /s %s.
Why you're seeing this error
I know this error is infuriating. You're trying to pull data from WMI — maybe a script, a tool like System Center, or something custom — and Windows just says "Nope, can't find that instance." The real trigger is usually one of three things:
- The WMI provider for that class is missing or corrupted.
- Your user account doesn't have permission to query that specific instance.
- The WMI repository itself got corrupted — common after a bad update or sudden shutdown.
This tripped me up the first time too, back when I managed a fleet of Windows Server 2012 R2 boxes. A PowerShell script kept failing with 0x00001069, and it turned out a security update had nuked the root\cimv2 provider.
Fix steps
Step 1: Check if the WMI repository is healthy
Open Command Prompt as Administrator. Type:
winmgmt /verifyrepositoryIf it says “WMI repository is inconsistent”, fix it with:
winmgmt /salvagerepository
winmgmt /resetrepositoryThe salvage command tries to save your data. The reset wipes it clean and rebuilds from default. You'll lose custom WMI classes, so back up anything important first.
Step 2: Re-register WMI providers
A lot of the time, the provider DLLs are there but not registered. Run this in the same admin Command Prompt:
cd /d %windir%\system32\wbem
for /f %s in ('dir /b *.dll') do regsvr32 /s %sThen recompile the MOF files:
for /f %s in ('dir /b *.mof') do mofcomp %sThis takes maybe 30 seconds, but it fixes a ton of WMI issues. I do this as a first step on any new server build.
Step 3: Check permissions on the WMI namespace
If the error happens with a specific class (like Win32_LogicalDisk), open Component Services from the Start menu. Go to WMI Control → right-click → Properties → Security tab. Find the namespace your class lives in (usually root/cimv2), click Security, and make sure your user or group has at least Enable Account and Remote Enable checked. If you're not sure, add Everyone with Read access for testing — but remove it after.
Alternative fixes if the main one fails
Option A: Rebuild the WMI repository from scratch
This is more aggressive, but it works when the repository is totally trashed. Stop the WMI service:
net stop winmgmtRename the repository folder (don't delete it yet):
ren %windir%\system32\wbem\repository repository.oldRestart the service:
net start winmgmtWindows will create a fresh repository automatically. Then re-register providers as in Step 2. I've used this on Windows 10 and Server 2016 with 100% success.
Option B: Check for missing Windows features
Some WMI classes depend on specific roles or features. For example, Win32_Service is always there, but Win32_NetworkAdapterConfiguration needs the WMI SNMP Provider feature. Go to Control Panel → Programs and Features → Turn Windows features on or off, and make sure Windows Management Instrumentation is fully installed. On a server, check under Server Manager → Add Roles and Features → WMI.
Option C: Use the WMI Diagnosis Utility
Microsoft has a free tool called WMI Diagnosis (search for it on their site). Download it and run as admin. It checks permissions, provider registration, and repository health all at once. It's saved me hours of manual digging.
Option D: Run a System File Checker (SFC) scan
Corrupted system files can mess up WMI providers. Open an admin Command Prompt and run:
sfc /scannowLet it finish, reboot, then try your WMI query again.
Prevention tip
To stop this error coming back, keep the WMI repository clean. Avoid running random scripts that create custom WMI classes unless you know what they do. Also, set a monthly reminder to check winmgmt /verifyrepository on critical servers. If you see an inconsistency early, a simple salvage takes minutes. Waiting until something breaks costs you hours.
One more thing — if you're using monitoring tools like Nagios or Zabbix, they often hit this error because they query WMI with limited permissions. Give those services a dedicated user with minimal WMI read access instead of pushing everything through admin accounts. It's cleaner and safer.
That's it. Try the steps in order, and you'll likely fix it on Step 1 or 2. If not, the alternative options have your back.
Was this solution helpful?