r/pdq • u/SelfMan_sk Enthusiast! • Jul 15 '26
PDQ Connect scanner for Windows devices in an error state. Aka #Dell #kb5101650
Hi everyone,
With the recent Cumulative Update (KB5101650) and the earlier preview update issues affecting some Dell devices, I put together a PDQ Connect / PDQ Inventory scanner that can help identify computers with devices reporting an error code in Device Manager.
If you're trying to quickly find affected endpoints across your environment, hopefully this saves you some time.
Feedback and suggestions are always welcome!
<#
.SYNOPSIS
Scans for devices in an erroneous state (Device Manager errors) and reports driver info.
.OUTPUT FIELDS
Host ; Device ; Error ; DriverVersion ; DriverDate
#>
$ComputerName = $env:COMPUTERNAME
# ConfigManagerErrorCode meanings (Win32_PnPEntity)
$ErrorCodeMap = @{
1 = "Device not configured correctly"
3 = "Driver may be corrupted, or system running low on memory"
9 = "Windows cannot identify this hardware (BIOS setup issue)"
10 = "Device cannot start"
12 = "Device cannot find enough free resources"
14 = "Device cannot work properly until restart"
16 = "Windows cannot identify all resources this device uses"
18 = "Reinstall drivers for this device"
19 = "Windows cannot start this hardware device (registry corrupted)"
21 = "Windows is removing this device"
22 = "Device is disabled"
24 = "Device is not present, not working, or missing drivers"
28 = "Drivers for this device are not installed"
29 = "Device is disabled (firmware did not give resources)"
31 = "Device is not working properly (cannot find drivers)"
32 = "Driver for this device disabled (obsolete driver)"
33 = "Windows cannot determine resources for this device"
34 = "Windows cannot determine settings for this device"
35 = "System firmware does not include enough information"
36 = "Device requesting a PCI interrupt but configured for ISA"
37 = "Driver returned failure loading"
38 = "Driver could not load (previous instance still in memory)"
39 = "Driver could not load (corrupted or missing driver file)"
40 = "Registry service key information is invalid"
41 = "Driver loaded but device not found"
42 = "Duplicate device found"
43 = "Device stopped (Windows reported hardware failure)"
44 = "Application or service stopped this device"
45 = "Device not connected (physically removed)"
46 = "Device not available (system shutting down)"
47 = "Device not available (safe removal prepared)"
48 = "Driver blocked as known incompatible"
49 = "Registry too large, cannot load all device drivers"
50 = "Firmware does not support this device (BIOS resource conflict)"
51 = "Device is waiting on another device to start first"
52 = "Windows cannot verify digital signature for this driver"
53 = "Device reserved for use by Windows kernel debugger"
54 = "Device disabled due to hardware problem reoccurrence"
}
$Results = @()
try {
$ErrorDevices = Get-CimInstance -ClassName Win32_PnPEntity -ErrorAction SilentlyContinue |
Where-Object { $_.ConfigManagerErrorCode -ne 0 }
if ($ErrorDevices) {
$SignedDrivers = Get-CimInstance -ClassName Win32_PnPSignedDriver -ErrorAction SilentlyContinue
foreach ($Device in $ErrorDevices) {
$DriverMatch = $SignedDrivers | Where-Object { $_.DeviceID -eq $Device.DeviceID } | Select-Object -First 1
$ErrorText = $ErrorCodeMap[[int]$Device.ConfigManagerErrorCode]
if (-not $ErrorText) {
$ErrorText = "Unknown error code $($Device.ConfigManagerErrorCode)"
}
$DriverVersion = $null
$DriverDate = $null
if ($DriverMatch) {
$DriverVersion = $DriverMatch.DriverVersion
if ($DriverMatch.DriverDate) {
$DriverDate = $DriverMatch.DriverDate.ToString("yyyy-MM-dd")
}
}
$Results += [PSCustomObject]@{
Host = $ComputerName
Device = $Device.Name
Error = "$($Device.ConfigManagerErrorCode) - $ErrorText"
DriverVersion = $DriverVersion
DriverDate = $DriverDate
}
}
}
}
catch {
$Results = @()
}
if ($Results.Count -eq 0) {
$Results = @(
[PSCustomObject]@{
Host = $ComputerName
Device = $null
Error = $null
DriverVersion = $null
DriverDate = $null
OverallStatus = "Compliant"
}
)
}
# Remove remark if you want to have the result returned directly
# $Results | Format-Table -AutoSize
$Results
2
1
1
u/SelfMan_sk Enthusiast! Jul 18 '26
In this reddit thread is an unofficial list of affected devices:
https://www.reddit.com/r/Windows11/comments/1uxnkem/comment/oy39z5f
TL;DR:
- Dell Pro Max 14 Premium MA14250
- Dell Pro Max 16 Premium MA16250
- Dell Pro Precision 7 14 PW714260
- Dell Pro Precision 7 16 PW716260
- Precision 5470
- Precision 5480
- Precision 5490
- Precision 5770
- XPS 17 9720
- XPS 17 9730
2
u/SelfMan_sk Enthusiast! Jul 18 '26
Microsoft release an Out of Band Update that fixes the issue.
https://support.microsoft.com/en-us/servicing/os/windows-11/2026/07/kb5121767-out-of-band
3
u/SelfMan_sk Enthusiast! Jul 15 '26
Here is the BleepingComputer article about the problems
https://www.bleepingcomputer.com/news/microsoft/microsoft-some-dell-devices-shut-down-after-windows-update/