Quick answer (for the impatient)
This error means the Windows Plug and Play (PnP) manager won't allow driver operations over a remote session (RDP). The fix: either physically or via KVM connect to the machine, or use PSExec -s -i to run the driver installer in the local session.
Why does this happen?
I remember the first time I saw this—tripped me up for an hour. You're connected to a Windows 10 or 11 machine via Remote Desktop (RDP), and you try to install a driver, update a device, or run pnputil. Boom, error 0x800F023B with the message: "The requested operation is not supported for a remote machine."
This is by design. Microsoft's PnP subsystem doesn't trust remote sessions for hardware operations, because driver installation often needs direct hardware access, reboot prompts, or user interface interactions that RDP can't handle reliably. It's a security and stability guard—annoying but intentional. You'll see it with network drivers, graphics drivers, and any INF-based installation that triggers PnP enumeration.
Fix 1: Run the installation locally
- Log off the RDP session. (Don't just disconnect—log off so no remote session lingers.)
- Physically access the machine—sit at it, use a KVM, or use a management card (iDRAC, iLO, IPMI) that gives you a console session, not RDP.
- Run the driver installer as you normally would. It will work because the session is local.
This is the simplest fix, but if you can't physically reach the box, go to Fix 2.
Fix 2: Use PSExec to run the installer in the local session
PSExec from Sysinternals lets you execute a command on the system as if you were sitting at the console. It bypasses the RDP session check.
- Download PSExec from Microsoft Sysinternals.
- Open an elevated Command Prompt on your remote machine (still via RDP).
- Run this command:
psexec -s -i 1 cmd.exe-sruns as System,-i 1runs in the interactive session 1 (the local console). You may need to adjust1to the correct session ID—runquery sessionto see which is the local console (usually session 1 or 2). - In the new cmd window, run your driver installer or
pnputil /add-driver driver.inf. It should complete without the error.
This trick works in 99% of cases. The 1% failure comes when the driver requires a reboot or UAC elevation that PSExec can't simulate—then you're back to Fix 1.
Alternative fix: Use pnputil with the -m flag (rarely works)
Some old forum posts suggest pnputil /add-driver driver.inf -m to bypass remote checks. I've tested it—doesn't reliably fix 0x800F023B. Skip it unless you're desperate.
Prevention tip
If you manage remote servers or workstations regularly, always install drivers via the console or a management card. For remote driver updates, use a deployment tool like SCCM or PDQ that runs as a local system service—they don't trip this error because they don't rely on an interactive RDP session. Also, before starting any driver work over RDP, run query session to confirm you're in the RDP session—if you're in the console session, you won't see this error at all.
"This error is Microsoft's way of yelling 'You're not here!'—and they're right. Just get there physically or virtually."