Thỉnh thoảng chúng ta nhận thấy một số máy in mạng kết nối bị offline, ngừng in và công việc in bắt đầu xếp hàng trên print server chạy Windows Server. Trong bài này chúng ta sẽ xem tại sao máy in mạng có thể chuyển sang trạng thái offline và cách khắc phục mà không cần cài lại máy in hoặc khởi động lại print server.
Mở console Print Management trên print server, tìm máy in với Queue Status = Offline, mở properties hàng đợi in của nó và đảm bảo tùy chọn "Use Printer Offline" (Sử dụng máy in ngoại tuyến) không được tích trong cài đặt.

Sau đó đảm bảo máy in bật và truy cập được qua mạng (kiểm tra khả dụng máy in bằng ping theo IP, đảm bảo bạn có thể mở giao diện web quản trị máy in).
Windows xác định trạng thái khả dụng của máy in mạng như thế nào? Trong Windows 7 và mới hơn, mặc định dùng SNMP (Simple Network Management Protocol) để truy vấn trạng thái máy in mạng. Print server gửi yêu cầu SNMP đến máy in và chờ phản hồi. Nếu không nhận được phản hồi SNMP từ máy in, máy in đó được coi là không khả dụng và chuyển sang offline trên print server. Hãy xem cách cấu hình cài đặt SNMP cho máy in mạng trên Windows print server.
Trước hết, đảm bảo máy in hỗ trợ SNMP. Mở giao diện web quản trị máy in mạng và đảm bảo SNMP được bật trong cài đặt máy in và community name dùng cho nó là public.
Ví dụ, cài đặt SNMP của HP LaserJet CP1525 tìm thấy ở Networking -> SNMP -> Enable SNMP read-only access (uses public for the Get Community Name).
Tìm máy in trong console Print Management, mở Properties và vào tab Ports (Cổng). Mở cài đặt cổng: Standard TCP/IP port -> Configure Port. Nếu máy in hỗ trợ SNMP, đảm bảo tùy chọn SNMP Status Enabled được tích, và Community Name đặt là public.

Nếu máy in không hỗ trợ SNMP, bạn phải tắt nó trong cài đặt cổng máy in trên print server. Như vậy, Windows sẽ ngừng gửi gói SNMP để thăm dò trạng thái thiết bị.
Đảm bảo trạng thái máy in đã đổi thành Ready (Sẵn sàng).

Bạn có thể tìm tất cả máy in với SNMP bị tắt trên print server dùng cmdlet PowerShell sau (module PrintManagement tích hợp sẵn):
get-printerport |where {$_.snmpenabled -ne $True}|select name,protocol,description,printerhostaddress

Lệnh PowerShell sau giúp tìm cổng máy in mạng với tên community SNMP khác Public:
get-printerport |where {$_.SNMPCommunity -ne 'Public' –and $_.snmpenabled -eq $True }|select name,protocol,description,printerhostaddress, snmpenabled, SNMPCommunity
Nếu kiểm tra cài đặt SNMP không giúp máy in online, bạn nên kiểm tra các tham số sau.
- Đảm bảo địa chỉ IP đúng của máy in được chỉ định trong cài đặt cổng in;
- Đảm bảo loại cổng dùng là "Standard TCP/IP Port" thay vì "WSD Port".

- Đảm bảo tường lửa không chặn lưu lượng SNMP (Cổng 161/UDP và 162/UDP);
- Gỡ hoàn toàn máy in và cổng in rồi tạo lại. Cài lại driver máy in;
- Khởi động lại dịch vụ spooler:
Restart-Service "Spooler" - Bạn có thể tắt hoàn toàn SNMP polling cho tất cả máy in trên Windows bằng cách tạo tham số DWORD mới tên SNMPLegacy giá trị 1 trong khóa registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print.