A failed task sequence leaves you one hex code in a dialog and a long smsts.log. This quick reference lists 44 codes you meet in Configuration Manager OS deployment (OSD), with the official meaning, the usual cause during a deployment and the first thing to check, grouped by where the failure happens.
Codes in this quick reference
0x80004005 E_FAIL: Unspecified errorTask sequence error dialog / smsts.log0x80004004 E_ABORT: Operation aborted (logged after a failed step stops its group)smsts.log0x80040104 Failed to resolve selected task sequence dependenciessmsts.log0x80091007 The hash value is not correct.Task sequence error dialog / smsts.log0x80041002 WBEM_E_NOT_FOUND: An error occurred when loading the task sequence (MDT task sequence)TaskSequenceProvider.log0x80070002 ERROR_FILE_NOT_FOUND: The system cannot find the file specified.Task sequence error dialog / smsts.log0x80070003 ERROR_PATH_NOT_FOUND: The system cannot find the path specified.smsts.log0x80070005 ERROR_ACCESS_DENIED: Access is denied.smsts.log
+ 36 more codes in the tables below.
How to read these codes#
The code appears in three places: the error dialog (Task Sequence: <name> has failed with the error code (0x80091007)), the device's deployment status under Monitoring › Deployments, and smsts.log, where the useful lines are. The log moves between phases; the smsts.log guide lists every location and shows how to keep the device on the error with F8. Read upwards from Failed to run the action: the code on screen is often only the last link in the chain.
0x8007xxxx: a Windows (Win32) error in HRESULT form. The last four hex digits are the Win32 code, so0x80070032is error 50,ERROR_NOT_SUPPORTED.0x80072EE2to0x80072F8F: WinHTTP errors 12002 to 12175, raised when the task sequence talks to a management point or distribution point over HTTP or HTTPS.0x80004xxx: generic COM codes such asE_FAIL;0x80041xxxare WMI codes;0x80091007is a cryptography (hash) error.- NetSetup.LOG shows Win32 codes without the prefix:
0x54bthere is0x8007054Belsewhere.
The engine's summary line logs the code in decimal, for example The task sequence execution engine failed executing the action (Apply Operating System Image) in the group (Install) with the error code 2148077575. Convert it in PowerShell, or use Tools › Error Lookup in CMTrace:
'0x{0:X8}' -f 2148077575 # 0x80091007
0x80070032 -band 0xFFFF # 50
[ComponentModel.Win32Exception]::new(50).Message # The request is not supported.Not covered here: PXE-E codes before Windows PE starts (see PXE boot failures) and Windows Setup codes such as 0xC1900101 from the Upgrade Operating System step (see the feature update error codes and upgrading to Windows 11).
Task sequence engine, policy and content#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
0x80004005 | E_FAIL: Unspecified error | A generic failure passed up by a step or by policy download. Microsoft documents it in the Task Sequence Wizard on bootable or prestaged media, with Sending with winhttp failed in smsts.log | The lines above it; for media, whether Windows PE reaches a management point |
0x80004004 | E_ABORT: Operation aborted | Logged after a failed step stops its group; never the cause | The first error above it |
0x80040104 | Logged with Failed to resolve selected task sequence dependencies (a Configuration Manager code) | A referenced package, application, driver package or image has no content on a distribution point the device may use | The package ID in smsts.log, then the task sequence's References tab and that content's status |
0x80091007 | The hash value is not correct. | Downloaded content doesn't match the hash the site recorded: changed or damaged on the distribution point | Redistribute or update that package's content, then validate it (see content distribution) |
0x80041002 | WBEM_E_NOT_FOUND (WMI) | In TaskSequenceProvider.log with An error occurred when loading the task sequence when creating an MDT task sequence: MDT classes such as BDD_UsePackage can't be loaded | Microsoft's article on this error (References) |
Files, paths and disks#
Files and paths#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
0x80070002 | The system cannot find the file specified. | Wrong file name in a command line, content that didn't download, or a tool missing from the boot image | The expanded command line in smsts.log; the package content |
0x80070003 | The system cannot find the path specified. | A folder or drive letter that doesn't exist in this phase (Windows PE letters differ) | dir the path from the F8 prompt |
0x80070005 | Access is denied. | The account used for content, a network folder or a share lacks rights, or the step writes to a protected location | The step's account (or the network access account) and share permissions |
0x80070020 | The process cannot access the file because it is being used by another process. | A file is still locked by a process from an earlier step | Processes still running when the step starts |
0x80070057 | The parameter is incorrect. | An invalid value in a step or variable, such as a disk number or an empty variable | The step's settings and the variables set before it |
0x8007007B | The filename, directory name, or volume label syntax is incorrect. | Stray quotes or characters, or a variable that didn't expand, in a path | The command line exactly as smsts.log logs it |
0x800700A1 | The specified path is invalid. | A destination that doesn't exist yet: a partition that wasn't created, or a drive variable that isn't set | The destination of Apply Operating System or Apply Data Image |
0x80070490 | Element not found. | The step looked up something that isn't there, such as an image index, partition or device | The referenced item against the actual image or hardware |
0x80070570 | The file or directory is corrupted and unreadable. | Damaged image or package content, bad media or a failing disk | Redistribute the content; try another disk or USB drive |
Disks and storage#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
0x8007000F | The system cannot find the drive specified. | No disk visible to Windows PE (missing storage driver), or the step runs before the disk is partitioned | diskpart › list disk; the boot image's storage driver (see driver management) |
0x80070015 | The device is not ready. | The disk or boot media isn't available to Windows PE, often the storage controller mode or driver | Firmware storage settings and the storage driver |
0x8007001F | A device attached to the system is not functioning. | A driver or hardware fault during a disk or driver step | The driver package for this model; disk health |
0x80070032 | The request is not supported. | The step asked for something the device, its firmware mode or Windows PE doesn't support | The failing step and its conditions, such as _SMSTSBootUEFI for UEFI-only steps |
0x80070070 | There is not enough space on the disk. | A partition too small for the image, cached content or user state | Partition sizes in Format and Partition Disk |
0x800703ED | The volume does not contain a recognized file system. | The step reads a volume that isn't formatted yet, or one Windows PE can't read, such as an encrypted one | diskpart › list volume; the disk's BitLocker state |
0x8007045D | The request could not be performed because of an I/O device error. | A failing disk, USB drive or cable, or an unsuitable storage driver | Another disk or USB drive; the storage driver |
0x80070571 | The disk structure is corrupted and unreadable. | A damaged partition table or file system from an earlier install | Clean the disk with Format and Partition Disk, then retry |
Network, management point and HTTPS#
Network and shares#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
0x80070035 | The network path was not found. | The server in a UNC path can't be reached: name, DNS or blocked SMB | nslookup and net use from the F8 prompt |
0x80070043 | The network name cannot be found. | The server answers but the share name is wrong | The share name in the step |
0x800704C3 | Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. | Connect to Network Folder uses a second account against a server the task sequence already connected to | One account per server, or connect by another name (FQDN) |
0x800704C6 | The network is not present or not started. | No working network adapter in Windows PE, usually a missing driver | ipconfig /all; the boot image's network driver |
0x800704CF | The network location cannot be reached. | The adapter is up but has no route yet: wrong VLAN, no DHCP lease, or a switch port not forwarding yet | ipconfig /all; ping the gateway |
0x800705B4 | This operation returned because the timeout period expired. | A step or its program exceeded its time-out, often waiting for input | The step's time-out; test the command silently as SYSTEM |
HTTP and HTTPS (WinHTTP)#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
0x80072EE2 | ERROR_WINHTTP_TIMEOUT: The request has timed out. | Management point or distribution point slow or unreachable from this subnet | The URL in smsts.log, tested from the F8 prompt |
0x80072EE7 | ERROR_WINHTTP_NAME_NOT_RESOLVED: The server name cannot be resolved. | No IP address (missing network driver) or no DNS server or suffix in Windows PE | ipconfig /all; nslookup the server's FQDN |
0x80072EFD | ERROR_WINHTTP_CANNOT_CONNECT: connection to the server failed | A firewall blocks the port, or IIS is down on the site system | Ports 80/443 (or your custom ports) to the MP and DP |
0x80072EFE | ERROR_WINHTTP_CONNECTION_ERROR: the connection was reset or terminated, or an incompatible SSL protocol was encountered | A TLS mismatch, or a network device resetting the session | TLS settings on the site system; proxies or inspection in the path |
0x80072F05 | ERROR_WINHTTP_SECURE_CERT_DATE_INVALID: a certificate is outside its validity period | Wrong date or time in firmware, or an expired site system certificate | date /t and time /t at the F8 prompt |
0x80072F06 | ERROR_WINHTTP_SECURE_CERT_CN_INVALID: the certificate CN doesn't match | The device uses a server name that isn't on the certificate | Certificate subject and SAN against the FQDN |
0x80072F0C | ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED: the server requests client authentication | An HTTPS-only site system needs a client certificate the boot environment lacks | The certificate used by media or PXE (see Enhanced HTTP vs HTTPS) |
0x80072F0D | ERROR_WINHTTP_SECURE_INVALID_CA: the chain ends in an untrusted root | The site system certificate's root CA isn't trusted in this boot environment | The trusted root CAs configured for the site |
0x80072F78 | ERROR_WINHTTP_INVALID_SERVER_RESPONSE: The server response cannot be parsed. | A proxy or device answered instead of the site system, or the MP returned an error | Proxy settings; MP health in mpcontrol.log |
0x80072F7D | ERROR_WINHTTP_SECURE_CHANNEL_ERROR: a secure channel (TLS) error | TLS protocol or cipher mismatch between Windows PE and the site system | TLS 1.2 on the site system; a boot image from a current ADK |
0x80072F8F | ERROR_WINHTTP_SECURE_FAILURE: errors in the SSL certificate sent by the server | A certificate problem: the device clock, revocation checking or the chain | Firmware date and time first, then CRL reachability |
Domain join (NetSetup.LOG)#
Apply Network Settings only writes the join details; Windows Setup joins later, so read C:\Windows\debug\NetSetup.LOG in the new OS.
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
0x5 | Access is denied. | The join account can't create or reuse the computer object in the OU | OU permissions; owner of the existing object |
0x51f | There are currently no logon servers available to service the logon request. | No domain controller reachable from the new OS | DC connectivity and firewalls from that subnet |
0x52e | The user name or password is incorrect. | Wrong, expired or locked join account | The account in Apply Network Settings |
0x54b | The specified domain either does not exist or could not be contacted. | DNS can't locate a domain controller, or the new OS has no network driver | nslookup -type=SRV _ldap._tcp.dc._msdcs.contoso.com |
0x576 | There is a time and/or date difference between the client and server. | The firmware clock is far off, so Kerberos fails | Firmware date, time and time zone |
How to verify a fix#
- Rerun the deployment on a test device. The device shows Success in Monitoring › Deployments, and the final log has no failed actions:
Select-String -Path 'C:\Windows\CCM\Logs\smsts*.log' -Pattern 'Failed to run the action'
# No output = no step failed- Content codes: the package shows Success for the device's distribution points under Monitoring › Distribution Status › Content Status.
- Network and HTTPS codes:
ipconfig /all,nslookupand the date check pass at the F8 prompt before you restart the sequence. - Domain join:
Test-ComputerSecureChannelreturnsTrueand the computer object is in the expected OU.
References#
- System Error Codes (0-499), (1000-1299) and (1300-1699) (Microsoft Learn): the Win32 meanings
- Error Messages (Winhttp.h) (Microsoft Learn): the 0x80072xxx meanings
- An error occurred when loading the task sequence (Microsoft Learn): the MDT task sequence error

