Windows 11에서 프린터가 "오프라인" 상태로 표시되는 가장 흔한 원인은 Print Spooler 서비스 중단, "프린터를 오프라인으로 사용" 옵션의 잘못된 활성화, 그리고 SNMP 상태 조회 실패 세 가지입니다. 솔직히 대부분의 사례는 Spooler 재시작, 오프라인 사용 체크 해제, 그리고 포트 속성에서 SNMP 비활성화로 5분 내에 복구됩니다. 이 가이드는 제가 헬프데스크 티어 1·2에서 실제로 쓰고 있는 순서대로 정리한 Windows 11 프린터 오프라인 문제 해결 절차이며, 명령줄·PowerShell·GUI 세 경로 모두를 다룹니다.
"오프라인" 상태는 대부분 Windows가 프린터의 SNMP 응답을 받지 못하거나, Print Spooler가 멈췄거나, 사용자가 실수로 "오프라인 사용"을 켠 경우 중 하나입니다.
가장 빠른 1차 조치는 PowerShell에서 Restart-Service Spooler를 실행하는 것입니다 (약 70%의 오프라인 사례를 즉시 복구합니다).
네트워크 프린터에서는 포트 속성의 SNMP 상태 사용 체크를 해제해야 IP 변경이나 VLAN 라우팅 지연으로 인한 가짜 오프라인 표시가 사라집니다.
WSD 포트는 Windows 11 24H2 이후 안정성이 떨어졌으므로, 표준 TCP/IP 포트(RAW 9100)로 재구성하는 것이 권장됩니다.
드라이버는 Windows 11 호환 Type 4(클래스 드라이버 또는 IPP) 우선, Type 3는 마지막 수단으로 사용하세요.
반복 발생 시 그룹 정책 컴퓨터 구성 → 관리 템플릿 → 프린터에서 SNMP 및 양방향 통신 설정을 통일하면 재발률이 크게 줄어듭니다.
Windows 11에서 프린터가 오프라인으로 표시되는 이유는 무엇입니까?
프린터가 실제로 꺼져 있어도 "오프라인"으로 표시되긴 합니다. 그런데 현장에서 만나는 사례의 대부분은 프린터가 멀쩡히 켜져 있고 다른 부서에서는 정상 출력되는데도 특정 사용자 PC에서만 오프라인으로 잡히는 상황이죠. 이때 원인은 거의 항상 다음 다섯 가지 중 하나입니다.
Print Spooler 서비스 중단: 손상된 인쇄 작업, 호환되지 않는 드라이버 DLL, 또는 보안 업데이트 직후의 충돌로 spoolsv.exe가 정지합니다.
SNMP 상태 폴링 실패: Windows가 60초마다 프린터에 SNMP sysObjectID 쿼리를 보내는데, 방화벽·VLAN·프린터 펌웨어가 응답을 막으면 즉시 오프라인으로 표시됩니다.
"프린터를 오프라인으로 사용" 옵션: 사용자가 인쇄 큐 메뉴에서 실수로 체크하면 다른 어떤 조치도 효과가 없습니다.
WSD 포트의 비정상 종료: 자동 검색으로 잡힌 WSD 포트는 동일 서브넷 IP 변경에 매우 취약합니다.
Type 3 드라이버와 24H2 인쇄 스택의 충돌: Windows 11 24H2부터 IPP 기반 Type 4가 기본 경로이며, 구형 Type 3 드라이버가 IPP 트래픽을 차단하는 경우가 보고되어 있습니다.
현장에서는 이 다섯 가지를 위에서 아래로 순서대로 점검하는 것이 가장 빠릅니다. 한 단계에 시간을 너무 쓰지 말고, 결과가 "아니오"이면 즉시 다음으로 넘어가세요. Microsoft Learn의 프린터 오프라인 문제 가이드도 동일한 진단 트리를 따릅니다.
먼저 확인할 30초 점검 항목
티켓을 받으면 PowerShell이나 GPO를 건드리기 전에 다음 네 가지를 30초 안에 확인하세요. 이 단계에서 해결되는 비율이 의외로 높습니다.
물리적 상태: 프린터 패널에 오류 메시지(용지 걸림, 토너 부족, 절전 모드)가 떠 있는지. 일부 모델은 절전 깊은 단계에서 SNMP 응답을 무시합니다.
네트워크 상태: 다른 PC에서도 같은 프린터가 오프라인인지. 한 명만 오프라인이면 클라이언트 문제, 전원이 모두면 프린터·네트워크 문제입니다.
큐 적체: 설정 → Bluetooth 및 장치 → 프린터 및 스캐너에서 해당 프린터의 큐를 열어 "오류" 또는 "삭제 중"으로 멈춘 작업이 있는지.
Print Spooler 서비스를 다시 시작하는 방법
Print Spooler(서비스 이름: Spooler)는 인쇄 작업을 큐잉하고 드라이버를 로드하는 핵심 Windows 서비스입니다. 이 서비스가 멈춰 있으면 어떤 프린터든 오프라인으로 표시됩니다. 현장에서는 GUI보다 PowerShell로 재시작하는 것이 빠르고 결과가 명확합니다.
# 관리자 권한 PowerShell에서 실행
# 1) 서비스 현재 상태 확인 (Status가 Running이어야 정상)
Get-Service Spooler
# 2) 멈춘 큐 파일을 함께 비우는 안전 재시작 절차
Stop-Service Spooler -Force
Remove-Item "$env:SystemRoot\System32\spool\PRINTERS\*" -Force -ErrorAction SilentlyContinue
Start-Service Spooler
# 3) 재시작 후 상태 재확인 (기대 출력: Status Running, StartType Automatic)
Get-Service Spooler | Select-Object Status, StartType, Name
예상 출력은 Status: Running, StartType: Automatic입니다. StartType이 Disabled로 잡혀 있다면 그룹 정책 또는 PrintNightmare 대응으로 비활성화된 것이므로 Set-Service Spooler -StartupType Automatic으로 복구한 뒤 다시 시작하세요. Spooler가 시작 직후 다시 멈춘다면? 손상된 인쇄 큐 파일이 원인일 확률이 90% 이상입니다. 위 스크립트의 2단계가 그 파일들을 비웁니다.
가장 어이없으면서도 가장 자주 보는 원인입니다. 사용자가 메뉴를 잘못 눌러 "프린터를 오프라인으로 사용"이 켜지면 PC는 네트워크 검사 자체를 하지 않고 그냥 큐에 작업을 쌓아둡니다. 다른 모든 조치가 효과가 없는 이유가 여기입니다.
설정 → Bluetooth 및 장치 → 프린터 및 스캐너 진입.
오프라인으로 표시되는 프린터 클릭 → 인쇄 큐 열기.
큐 창 상단 메뉴에서 프린터 메뉴 클릭.
"프린터를 오프라인으로 사용" 항목에 체크 표시가 있다면 클릭해서 해제.
같은 메뉴의 "모든 문서 취소"로 큐도 함께 비웁니다.
PowerShell로 같은 상태를 확인하려면 다음 명령을 씁니다.
# 현재 PC의 모든 프린터에 대해 WorkOffline 플래그 확인
# WorkOffline이 True이면 사용자가 "오프라인으로 사용"을 켠 상태
Get-Printer | Select-Object Name, PrinterStatus, WorkOffline
SNMP 상태 사용을 비활성화해야 하는 이유
Windows의 인쇄 스택은 약 60초마다 프린터에 SNMP 폴링을 보내 "이 프린터가 살아 있는가, 오류 상태인가"를 확인합니다. 이 폴링이 단 한 번 실패하면 프린터는 즉시 "오프라인"으로 표시됩니다. 실제로는 멀쩡히 켜져 있어도 말이죠. VLAN 간 라우팅 지연, 프린터 펌웨어의 SNMP v1/v2c 호환 문제, 그리고 일부 방화벽에서 UDP 161을 막는 경우 모두 같은 증상을 만듭니다.
해결책은 단순합니다. 해당 프린터의 포트에서 SNMP 상태 사용을 끄세요. Windows는 SNMP 응답이 없어도 그냥 "온라인"으로 간주하고 작업을 보냅니다.
제어판 → 장치 및 프린터(control printers 실행).
대상 프린터 마우스 우클릭 → 프린터 속성.
포트 탭 → 해당 포트 선택 → 포트 구성.
"SNMP 상태 사용" 체크박스 해제 → 확인.
PowerShell에서 일괄로 끄려면 다음 스크립트를 사용합니다. 헬프데스크에서 같은 모델이 여러 대 배포된 환경이라면 정말 유용하게 쓰입니다.
# 모든 표준 TCP/IP 프린터 포트의 SNMP 상태 사용 해제
# 변경 후 Spooler 재시작 필요
Get-PrinterPort -ComputerName $env:COMPUTERNAME |
Where-Object { $_.Description -like '*TCP/IP*' } |
ForEach-Object {
Set-PrinterPort -Name $_.Name -SNMPEnabled $false
Write-Host "SNMP disabled on $($_.Name)"
}
Restart-Service Spooler
표준 TCP/IP 포트로 재구성하기
자동 검색으로 잡힌 WSD 포트가 오프라인 표시의 원인이라면, 표준 TCP/IP RAW 포트(9100/TCP)로 갈아끼우는 것이 가장 확실한 해결책입니다. RAW 9100은 1990년대부터 사실상 표준이고, 거의 모든 네트워크 프린터가 지원하며, IP 변경에도 사용자가 빠르게 대처할 수 있습니다.
# 표준 TCP/IP 포트 생성 (프린터 IP는 환경에 맞게 변경)
# RAW 프로토콜, 포트 번호 9100, SNMP 비활성화로 생성
Add-PrinterPort -Name "TCP_192.168.10.50" `
-PrinterHostAddress "192.168.10.50" `
-PortNumber 9100 `
-SNMP 0
# 기존 프린터에 새 포트 연결
Set-Printer -Name "Sales-Floor-HP" -PortName "TCP_192.168.10.50"
# 변경 검증
Get-Printer -Name "Sales-Floor-HP" | Select-Object Name, PortName, PrinterStatus
출력에서 PrinterStatus가 Normal로 바뀌면 성공입니다. 여전히 Offline이면 프린터 IP 자체가 잘못되었거나 클라이언트 PC에서 그 IP로 라우팅이 안 되는 것이므로 Test-NetConnection -ComputerName 192.168.10.50 -Port 9100으로 TCP 도달성을 확인하세요. TcpTestSucceeded: True가 아니라면 인쇄 문제가 아니라 네트워크 문제입니다.
드라이버 정리 및 재설치
여기까지 했는데도 한 PC만 오프라인이라면? 드라이버 손상일 가능성이 큽니다. 저도 작년에 같은 상황을 만났는데, 결국 클래스 드라이버로 갈아끼우니 바로 풀렸어요. Windows 11 24H2 이후로는 Type 4(클래스 드라이버, IPP 기반)가 표준이며, 제조사 Type 3 드라이버는 OS의 인쇄 보호 모드와 충돌하는 사례가 늘고 있습니다. 다음 순서로 깨끗하게 재설치합니다.
관리자 PowerShell에서 큐와 포트를 보존하기 위해 현재 설정을 백업: Get-Printer | Export-Clixml C:\Temp\printers-backup.xml.
문제 프린터 제거: Remove-Printer -Name "Sales-Floor-HP".
관련 드라이버 제거: Get-PrinterDriver | Where-Object Name -like "*HP LaserJet*" | Remove-PrinterDriver.
Print Management 콘솔(printmanagement.msc)에서 "모든 드라이버" 노드의 잔여 항목도 확인 후 삭제.
Spooler 재시작: Restart-Service Spooler.
Windows Update에서 제공하는 클래스 드라이버를 통해 프린터를 다시 추가하거나, 제조사가 명시적으로 24H2 호환이라고 표기한 Type 4 패키지를 사용합니다.
WSD와 TCP/IP, 무엇을 써야 합니까?
Windows가 프린터를 자동으로 발견할 때 만드는 포트는 대부분 WSD(Web Services for Devices)입니다. 편하긴 한데, IP 변경이나 서브넷 다중화에 약하다는 약점이 있어서, 헬프데스크에서는 거의 항상 표준 TCP/IP RAW 9100으로 교체합니다. 아래는 두 방식의 비교입니다.
항목
WSD
표준 TCP/IP (RAW 9100)
발견 방식
멀티캐스트 자동 발견
관리자가 IP를 수동 지정
IP 변경 대응
취약 (자주 오프라인으로 빠짐)
안정적 (단, IP 고정 또는 DHCP 예약 필요)
VLAN/서브넷 경계
멀티캐스트가 라우팅을 못 넘김
L3 라우팅만 되면 어디서나 동작
상태 모니터링
HTTP 기반 풍부한 상태
SNMP 별도 설정 필요
방화벽 친화성
UDP 3702, TCP 5357 등 다수 포트
TCP 9100 단일 포트
헬프데스크 권장
가정·소규모 사무실
기업·VLAN 환경의 기본값
요약하면 이렇습니다. 사용자가 한 명이고 같은 서브넷에 프린터가 한 대라면 WSD도 무방하지만, 기업 환경에서는 RAW 9100 + DHCP 예약 + SNMP 비활성화의 조합이 사실상 표준입니다.
그룹 정책으로 재발 방지하기
한 PC를 고쳐도 같은 사무실에서 다음 주에 같은 티켓이 또 들어온다면? 도메인 차원의 그룹 정책으로 못 박는 것이 효율적입니다. 다음 GPO 항목을 한 번에 적용하세요.
컴퓨터 구성 → 관리 템플릿 → 프린터 → SNMP 사용 안 함: 사용으로 설정. 모든 클라이언트에서 SNMP 폴링이 꺼집니다.
컴퓨터 구성 → 관리 템플릿 → 프린터 → 인쇄 작업의 양방향 통신 사용 안 함: 가짜 오프라인 표시 추가 방지.
그룹 정책 기본 설정 → 프린터로 표준 TCP/IP 포트를 사용자 또는 컴퓨터 단위로 배포.
Point and Print 제한: 2021년 PrintNightmare 이후 보안 강화로 인해 사용자가 드라이버를 자동 설치하지 못하는 환경이 많습니다. 신뢰하는 인쇄 서버 FQDN을 명시적으로 추가하세요.
설정 후 gpupdate /force로 반영하고, rsop.msc로 적용 상태를 확인합니다. 단일 PC 증상을 도메인 수준 신호로 끌어올려서 본다는 사고방식 자체는, 디바이스 보호 관련 트러블슈팅에서도 유효하게 적용되는 패턴입니다. 예컨대 Windows 11 BitLocker 복구 키 찾는 방법 가이드에서 다룬 AD 객체 추적과 같은 사고 흐름을 공유합니다.
현장 헬프데스크용 PowerShell 런북
지금까지의 절차를 하나의 스크립트로 묶으면 티어 1 상담원이 화면 공유 중에 바로 실행할 수 있습니다. 다음 런북은 사용자 PC에서 관리자 권한으로 실행하면 가장 흔한 세 가지 원인을 한 번에 점검·복구합니다. (제가 실제로 쓰는 버전을 살짝 다듬은 거예요.)
# printer-offline-fix.ps1
# Run as Administrator on the affected user PC
param(
[Parameter(Mandatory = $true)]
[string]$PrinterName
)
Write-Host "=== Step 1: Spooler health ===" -ForegroundColor Cyan
$spooler = Get-Service Spooler
if ($spooler.Status -ne 'Running') {
Write-Warning "Spooler is $($spooler.Status). Restarting."
}
Stop-Service Spooler -Force
Remove-Item "$env:SystemRoot\System32\spool\PRINTERS\*" -Force -ErrorAction SilentlyContinue
Start-Service Spooler
Write-Host "=== Step 2: Clear WorkOffline flag ===" -ForegroundColor Cyan
$printer = Get-Printer -Name $PrinterName -ErrorAction Stop
if ($printer.WorkOffline) {
Write-Warning "WorkOffline was True. Clearing."
(Get-WmiObject -Class Win32_Printer -Filter "Name='$PrinterName'").SetDefaultPrinter() | Out-Null
}
Write-Host "=== Step 3: Disable SNMP on the port ===" -ForegroundColor Cyan
$port = Get-PrinterPort -Name $printer.PortName
if ($port.SNMPEnabled) {
Set-PrinterPort -Name $port.Name -SNMPEnabled $false
Write-Host "SNMP disabled on port $($port.Name)"
}
Restart-Service Spooler
Write-Host "=== Step 4: Verify ===" -ForegroundColor Cyan
Get-Printer -Name $PrinterName | Select-Object Name, PrinterStatus, PortName
실행 예: .\printer-offline-fix.ps1 -PrinterName "Sales-Floor-HP". 출력 마지막의 PrinterStatus가 Normal이면 종료, 그래도 Offline이면 위의 TCP/IP 포트 재구성 단계로 넘어가세요. 비슷한 자동 진단 패턴이 필요하다면 Windows 11 OneDrive 동기화 오류 해결 가이드에서 다룬 동기화 큐 진단 스크립트도 참고할 수 있습니다.
자주 묻는 질문
Windows 11에서 프린터가 계속 오프라인으로 표시되는 이유는 무엇입니까?
가장 흔한 원인은 SNMP 상태 폴링 실패입니다. Windows가 60초마다 프린터 상태를 묻는데 응답이 없으면 즉시 "오프라인"으로 표시합니다. 포트 속성에서 SNMP 상태 사용을 끄고 Spooler를 재시작하면 90% 이상 해결됩니다.
인쇄 자체에는 영향이 없습니다. 다만 토너 잔량·용지 부족 같은 상태 표시가 사라지므로, 자산관리 시스템에서 별도 SNMP 모니터링을 운영 중이라면 그쪽은 그대로 두고 Windows 인쇄 큐의 SNMP만 끄세요.
WSD 포트와 TCP/IP 포트 중 무엇을 써야 합니까?
기업 환경에서는 표준 TCP/IP RAW 9100을 권장합니다. VLAN을 넘어 라우팅이 가능하고, IP 변경이나 멀티캐스트 차단에 강하며, 방화벽 정책도 단순합니다. WSD는 가정 또는 단일 서브넷의 소규모 환경에 한해 쓰세요.
Print Spooler 서비스가 자꾸 멈춥니다. 어떻게 해야 합니까?
대부분 손상된 인쇄 작업이 큐에 남아 Spooler를 즉시 죽이는 패턴입니다. %SystemRoot%\System32\spool\PRINTERS 폴더를 비우고 Spooler를 재시작하세요. 그래도 반복되면 최근 설치한 Type 3 드라이버를 의심하고 클래스 드라이버 또는 Type 4로 교체합니다.
Windows 11 BitLocker 복구 키를 5가지 방법으로 찾는 헬프데스크 실무 가이드. Microsoft 계정, Entra ID, Active Directory, PowerShell, manage-bde까지 1티어가 5분 안에 잠금을 풀 수 있는 절차를 정리합니다.
Windows 11에서 OneDrive 동기화 오류가 나면 시스템 트레이에서 오류 코드를 확인하고 onedrive.exe /reset으로 클라이언트를 초기화하는 것이 가장 빠릅니다. 5분 트리아지, PowerShell 진단 스크립트, SharePoint 측 확인 명령, 에스컬레이션 기준까지 헬프데스크 운영 관점에서 정리했습니다.