Trong bài này, cung cấp giải pháp cho các lỗi Windows phổ biến (0x0000011b và 0x00000002) xảy ra khi kết nối máy in mạng chia sẻ từ máy tính từ xa (print server). Tìm lỗi xuất hiện khi kết nối máy in trong danh sách dưới và áp dụng sửa chữa.
Mục lục
- 0x00000002 – Lỗi kết nối máy in
- Lỗi 0x0000011b: Windows không thể kết nối với máy in
0x00000002 – Lỗi kết nối máy in
Lỗi 0x00000002 xảy ra khi thử kết nối máy in mạng chia sẻ (từ Print Server hoặc cổng TCP/IP local) trên cả Windows 10 và Windows 7. Sau khi mở danh sách máy in chia sẻ trên máy từ xa (qua đường dẫn UNC \\computername), nhấn nút Connect, lỗi hiện ra:
Windows cannot connect to the printer.
Operation failed with error 0x00000002.
Lỗi 0x00000002 nghĩa là driver máy in cài trên máy bị hỏng. Trước hết, thử xóa driver này khỏi driver store (tương tự trường hợp lỗi 0x00000057).
Chạy lệnh:
printui.exe /s /t2
Trong danh sách driver đã cài, tìm driver máy in muốn cài lại và xóa bằng nút Remove, chọn tùy chọn Remove driver and driver package.
Cũng có thể dùng PowerShell gỡ driver máy in:
Remove-PrinterDriver -Name "HP Universal Printing PCL 5"
Hoặc dùng script prnmngr.vbs tích hợp quản lý máy in từ cmd:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" -d -m "HP Universal Printing PCL 5" -e "Windows x64" -v 3
Khởi động lại spooler (net stop spooler & net start spooler) và thử kết nối máy in lại.
Khá có thể driver sẽ cài đặt và máy in kết nối thành công.
Nếu không, thử các bước sau:
- Xóa khóa registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations;
- Nếu có subfolder tên từ 1 đến 499 trong
c:\Windows\System32\spool\prtprocs\x64, xóa tất cả trừ winprint.dll; - Xóa tất cả Print Processors và driver (trừ winprint) từ khóa registry HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments;
- Khởi động lại máy và kết nối máy in chia sẻ.
Làm workaround, nếu các cách trước không giúp, kết nối máy in qua đường dẫn UNC theo hướng dẫn bài "How to Print on Windows 10 Network Printer from XP".
Lỗi 0x0000011b: Windows không thể kết nối với máy in
Vấn đề phổ biến kết nối máy in chia sẻ mạng với lỗi 0x0000011b bắt đầu sau khi cài bản cập nhật bảo mật Windows ngày 15/9/2021.
Khi kết nối máy in chia sẻ từ máy từ xa, lỗi hiện ra:
Connect to Printer Windows cannot connect to the printer. Operation failed with error 0x0000011b.
Vấn đề liên quan đến bản cập nhật bảo mật mới nhất Microsoft cố gắng khắc phục lỗ hổng Print Nightmare. Rất tiếc, các bản cập nhật chưa được kiểm tra kỹ và gây lỗi 0x0000011b hàng loạt.
Để giải quyết, cần gỡ bản cập nhật bảo mật mới nhất trên máy chia sẻ máy in (!). Tùy phiên bản và build Windows trên máy chia sẻ máy in, gỡ một trong các bản cập nhật sau:
- KB5005565 — Windows 10 2004, 20H2 và 21H1
- KB5005566 – Windows 10 1909
- KB5005568 – Windows 10 1809 và Windows 10 LTSC
- KB5005030 — Windows Server 2019
- KB5005573 – Windows Server 2016
- KB5005613, KB5005627 — Windows Server 2012 R2, Windows 8.1
- KB5005563 – Windows 7, Windows Server 2008 R2 (có subscription Extended Security Updates cho Win 7 và Server 2008 R2)
Để gỡ bản cập nhật: Start → Settings → Update & Security → View Update History → Uninstall updates. Chọn bản cập nhật gần đây theo phiên bản/build Windows (ví dụ: Security Update for Microsoft Windows (KB5005565)) và nhấn Uninstall.
Hoặc dùng lệnh wusa (chỉ định số bản cập nhật cho build Windows):
wusa.exe /uninstall /kb:5005565
Khởi động lại máy và thử kết nối máy in mạng thủ công hoặc dùng Group Policy. Lưu ý: nếu user không thể kết nối máy in mạng nếu không có quyền admin local (do fix lỗ hổng PrintNightmare), có thể tạm cho phép user non-admin cài máy in bằng lệnh:
reg add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v RestrictDriverInstallationToAdministrators /t REG_DWORD /d 0 /f
Sau đó user sẽ kết nối được máy in chia sẻ và bắt buộc đặt lại giá trị RestrictDriverInstallationToAdministrators = 1.
Sau gỡ bản cập nhật, cần ẩn nó khỏi cài đặt. Lúc này nó không tự cài ở chu kỳ quét Windows Update tiếp theo.
Ẩn bản cập nhật bằng công cụ chính thức wushowhide.diagcab hoặc module PowerShell PSWindowsUpdate:
$HideList = "KB5005565", "KB5005566", "KB5005568"
Hide-WindowsUpdate -KBArticleID $HideList -Verbose
Nếu triển khai bản cập nhật từ server WSUS local, nên decline (từ chối) cài đặt chúng.
Nếu không thể gỡ bản cập nhật, làm workaround: kết nối máy in mạng qua cổng local. Ví dụ, tên cổng local để kết nối máy in từ máy từ xa có dạng: \\pcname123\HP1220
Kết nối máy in qua cổng local được mô tả trong bài về lỗi phổ biến khác kết nối máy in mạng – 0x0000007e.
Workaround khác: đặt khóa registry HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\RpcAuthnLevelPrivacyEnabled thành 0.