0X00001076

WMI Set Failure 0X00001076: Fixing a Stuck WMI Object

Windows Errors Intermediate 👁 1 views 📅 May 28, 2026

WMI can't write a change to a data block. Usually from permission issues or a corrupt WMI repository. Here's the fix that works.

When You See This Error

You're trying to change a WMI property — maybe a service startup type, a registry value through WMI, or a setting in a management app like SCCM or a custom script. You get the error ERROR_WMI_SET_FAILURE (0X00001076). The WMI call itself works for reading, but writing fails. I've seen this most often when someone tries to change a service's StartMode via WMI and gets the error: "The WMI data item or data block could not be changed."

Another classic trigger: a monitoring tool that's trying to write a configuration value back to a remote machine. The tool reads fine but bombs on write. Or you're using PowerShell's Set-WmiInstance and it throws this.

What's Really Going On

WMI has a provider that handles writes. When you try to set a value, WMI checks permissions on the namespace, the class, and the property. It also checks if the provider supports write operations. The error 0X00001076 means the write operation was attempted but failed at the provider level — either because permissions aren't granted, the WMI repository is corrupt, or the provider itself is misbehaving.

Here's the thing: most of the time it's not the provider. It's either a permissions issue or a corrupted repo. I've had clients who chased provider issues for days when a simple repo rebuild fixed it.

The Fix: Step by Step

  1. Check WMI permissions
    Open wbemtest (run as admin, click Start, type wbemtest, right-click, run as admin). Click Connect, type root\cimv2, connect. Click Enum Instances, type Win32_Service. Double-click a service, find a writable property (like StartMode). Try to change it — if it fails, it's permissions. In that case, right-click the WMI control in Computer Management (Services and Applications > WMI Control > Properties > Security). Select root\cimv2, click Security, add the user or group, grant Enable Account and Remote Enable. That's the bare minimum for writes.
  2. Verify provider supports writes
    Not all WMI providers are writable. For example, Win32_Service has a Change method, but some properties are read-only. Check the class documentation. If the property you're setting is read-only, you'll never fix this. Use Get-WmiObject -Class Win32_Service -Property * in PowerShell and look for __PROPERTY_COUNT and IsWriteable isn't directly exposed but you can try to set it in wbemtest to see.
  3. Rebuild the WMI repository
    This is my go-to when permissions check out. Open an admin command prompt. Run:
    net stop winmgmt
    Then rename the repository folder:
    ren %windir%\System32\wbem\Repository Repository.old
    Then restart WMI:
    net start winmgmt
    WMI rebuilds the repo from scratch — takes a minute. Then try your write operation again. This fixed a client last month whose whole print queue script failed because of a corrupted repo.
  4. Run WMIDiag
    If you're still stuck, download WMIDiag from Microsoft (it's now part of the Windows SDK, but you can grab it separately). Run it as admin:
    WMIDiag /saveaspkg
    It generates a CAB with all the diagnostics. Look for red flags about provider registration or namespace issues. Common find: a provider DLL that's missing or unregistered. Then re-register with regsvr32.
  5. Check for antivirus interference
    Some AV suites block WMI writes — especially on remote connections. Temporarily disable AV and test. If it works, add an exception for WMI (wmiprvse.exe, Winmgmt.exe). I've seen Sophos and McAfee do this.

What If It Still Fails?

If you've gone through all that and the error persists, it's almost always a permission issue you missed. Double-check that the user account you're using has Remote Enable on the target namespace. Also check DCOM permissions — open dcomcnfg, go to Component Services > Computers > My Computer > Properties > COM Security. Under Access Permissions and Launch and Activation Permissions, make sure the user or group has Remote Access, Remote Launch, and Remote Activation. That's the missing link for remote WMI writes.

Another deep one: if the target machine has UAC enabled and you're using a local account, remote WMI writes may be blocked. Use a domain account or disable UAC remote restrictions via registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System, set LocalAccountTokenFilterPolicy to 1 (DWORD). Reboot. That opens the door for local accounts.

Last resort: check the event logs under Applications and Services Logs > Microsoft > Windows > WMI-Activity > Operational. Look for Event ID 5858 or 5861 — those show which provider failed and why. They often point to a specific class or method. That'll give you a precise lead.

Was this solution helpful?