Windows · Windows Server  ·  high  ·  Networking & connectivity

Network printer stops printing — 0x0000011b, 0x00000709, 0x0000007c

A group of print connection errors from the print security updates and from the spooler losing the connection to the server.

What you see

"Windows cannot connect to the printer" with one of these codes, most often after an update, and most often on shared printers hosted from a workstation or server.

What is actually wrong

0x0000011b is the RPC authentication change in the print security updates. 0x0000007c is a client and server disagreeing on the SMB dialect for the print share. 0x00000709 is a default printer setting that cannot be written. 0x00000bcb is a missing driver on the server.

Codes and articles

0x0000011b0x000007090x0000007c0x00000bcb0x00000040Operation could not be completed

Fixes (3)

Patch both ends rather than turning the RPC protection off
Elevated PowerShell40 minuteshigh riskreversible

0x0000011b. The registry workaround for this is everywhere online and it re-opens the vulnerability the update closed.

  1. Check the update level of the print server and the client. A mismatch is the whole cause.

    PowerShell
    Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 8 HotFixID,Description,InstalledOn
  2. Bring both fully up to date and restart. In the great majority of cases that is the entire fix — the incompatibility was resolved in later cumulative updates.

  3. If a legacy device makes that impossible, understand what the workaround does before using it: RpcAuthnLevelPrivacyEnabled set to 0 reverts to unauthenticated RPC printing, which is the PrintNightmare attack path.

    PowerShell
    Get-ItemProperty 'HKLM:\System\CurrentControlSet\Control\Print' -Name RpcAuthnLevelPrivacyEnabled -ErrorAction SilentlyContinue

    This is stated plainly because the value is usually pasted in from a forum without anyone saying what it costs. If it is used, it should be a scheduled, temporary measure on an isolated print network.

  4. Prefer replacing the shared-queue model with direct IP printing or Universal Print, which sidesteps the whole class of fault.

Confirm it workedThe printer connects with the value absent or set to 1.
PowerShell
Get-Printer | Format-Table Name,DriverName,PortName,PrinterStatus
If you need to undo itRemove the RpcAuthnLevelPrivacyEnabled value entirely to return to the secure default.
Fix the driver the server is handing out
Elevated PowerShell on the print server30 minutesmedium riskreversible

0x0000007c or 0x00000bcb — an architecture or dialect mismatch on the shared driver.

  1. List what the server is offering.

    PowerShell
    Get-PrinterDriver | Format-Table Name,PrinterEnvironment,MajorVersion
  2. Install a Type 4 (class) driver where the manufacturer offers one — these are handed to clients cleanly and do not require a matching architecture package.

  3. Clear the client's cached copy of the old driver before retrying.

    PowerShell
    Stop-Service Spooler -ForceRemove-Item 'C:\Windows\System32\spool\PRINTERS\*' -Force -ErrorAction SilentlyContinueStart-Service Spooler
  4. As a workaround that also removes the dependency, add the printer by IP with a local driver.

    PowerShell
    Add-PrinterPort -Name 'IP_10.0.0.50' -PrinterHostAddress '10.0.0.50'Add-Printer -Name 'Office Laser' -DriverName 'HP Universal Printing PCL 6' -PortName 'IP_10.0.0.50'

    Direct IP printing takes the print server out of the path entirely. For a small site it is more reliable than a shared queue and immune to this entire family of errors.

Confirm it workedA test page prints from the client.
PowerShell
Get-Printer 'Office Laser' | Format-List Name,PrinterStatus,PortName,DriverName
If you need to undo itRemove the added printer and port with Remove-Printer and Remove-PrinterPort.
Rebuild the client's print configuration
Elevated PowerShell on the client25 minutesmedium riskreversible

0x00000709, 0x00000040, or a spooler that crashes as soon as a queue is opened.

  1. Stop the spooler and clear stuck jobs.

    PowerShell
    Stop-Service Spooler -ForceRemove-Item 'C:\Windows\System32\spool\PRINTERS\*' -Recurse -Force -ErrorAction SilentlyContinue
  2. Remove the stale per-user connections that the default-printer error is really about.

    PowerShell
    Remove-Item 'HKCU:\Printers\Connections\*' -Recurse -Force -ErrorAction SilentlyContinueRemove-Item 'HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Devices' -Force -ErrorAction SilentlyContinue

    0x00000709 is the shell failing to write the default printer, and it is nearly always a connection entry pointing at a server that has been renamed or retired.

  3. Start the spooler and re-add the printer.

    PowerShell
    Start-Service SpoolerAdd-Printer -ConnectionName '\\printserver\Office Laser'
  4. If the spooler crashes on start, check for a third-party print monitor in the registry under Control\Print\Monitors and remove any belonging to software that has been uninstalled.

Confirm it workedThe printer sets as default and holds after a restart.
PowerShell
Get-CimInstance Win32_Printer | Where-Object Default -eq $true | Format-List Name,Default
If you need to undo itExport HKCU\Printers with reg export before clearing it; re-import to restore the previous connections.

Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.