Description
WBEM_E_ACCESS_DENIED (hex code 0x80041003, decimal -2147217405) is a Windows error-level error code in the WMI Errors family. Microsoft surfaces this code through the Win32 API, the Common Language Runtime, the kernel, the event log, PowerShell, command-line tools (sfc, dism, gpupdate, sc), and Windows-side applications such as Outlook, Teams, Office, and System Center.
WMI access denied. Check DCOM and WMI namespace permissions.
This page documents what triggers 0x80041003, the most common scenarios where it appears, the likely root causes, and a step-by-step troubleshooting workflow you can run against affected endpoints. It is intended for system administrators, MSP technicians, helpdesk engineers, and anyone diagnosing Windows behavior in a managed environment.
In-depth explanation
This is an error-severity code. Windows uses it to signal a failed operation that prevented the caller from completing its work. The underlying cause can range from a permissions or quota issue to a corrupted system component, missing dependency, or unreachable service.
It is part of the WBEM / WMI error space. It surfaces in WMI queries (wmic, Get-WmiObject, Get-CimInstance), MOF compilations, and WMI-driven monitoring (SCOM, Sentinel, etc.).
The code can be looked up programmatically in PowerShell with [ComponentModel.Win32Exception]::new(-2147217405).Message (for Win32 / NTSTATUS codes that map cleanly), or with net helpmsg <decimal> for the legacy decimal range. For HRESULT-style codes, decode the facility and code with err.exe from the SDK or via the WinDbg !error command.
Common causes
- Corrupted WMI repository — repair with
winmgmt /salvagerepositoryor/resetrepository. - Missing or unregistered WMI provider DLL.
- DCOM permissions stripped on the WMI namespace (
wmimgmt.msc). - User lacks Remote Enable or Execute Methods at the namespace level.
- WMI quota violation — too many concurrent queries from monitoring agents.
Troubleshooting steps
- Verify WMI repository integrity:
winmgmt /verifyrepository. If reported inconsistent, repair withwinmgmt /salvagerepository. - If salvage fails, reset (last resort, may break inventory):
winmgmt /resetrepository. - Re-register the providers:
cd %WinDir%\System32\wbem && for %i in (*.mof) do mofcomp %i. - Check namespace permissions in
wmimgmt.msc— the calling account must have Remote Enable and Execute Methods. - Capture a WMI trace:
logman create trace WMI -p Microsoft-Windows-WMI-Activity ...and reproduce the query.
Decode in PowerShell
# Decode 0x80041003 (-2147217405) in PowerShell
[ComponentModel.Win32Exception]::new(-2147217405).Message
# Or via WinDbg / err.exe (Windows SDK)
# err 0x80041003
# Or net helpmsg (legacy decimal range only)
# net helpmsg <decimal>Frequently asked questions
What does the Windows error code 0x80041003 mean?
WBEM_E_ACCESS_DENIED (decimal -2147217405). WMI access denied. Check DCOM and WMI namespace permissions.How do I decode 0x80041003 in PowerShell?
[ComponentModel.Win32Exception]::new(-2147217405).Message in any PowerShell session. For HRESULT-style codes, use err.exe from the Windows SDK or the WinDbg !error command.Where does Windows typically log this error?
%WinDir%\WindowsUpdate.log; AD/Kerberos → Security event log on the DC; BSOD → minidump under C:\Windows\Minidump; MSI → %TEMP%\msi*.log; WMI → Microsoft-Windows-WMI-Activity). Always cross-reference the timestamp and module name with the Application and System event logs.Is this code recoverable?
Should I open a Microsoft support case for this?
Get-WinEvent export ready before opening the case.
