이 글에서는 Windows 10/8.1 및 Windows Server 2012 R2/2016 환경에서 명령 프롬프트를 통해 프린터와 프린터 드라이버를 관리하는 방법을 소개합니다. 새 로컬 프린터나 네트워크 프린터 설치, 프린터 드라이버 설치, TCP/IP 인쇄 포트 생성, 테스트 페이지 인쇄, 드라이버 및 프린터 삭제 등을 간단한 Windows 명령만으로 수행할 수 있습니다. 이러한 방법은 SCCM 작업을 통한 무인 프린터 설치, 그룹 정책 로그온 스크립트, Server Core 모드로 운영되는 서버 환경 등 다양한 시나리오에서 특히 유용하게 활용됩니다.
Windows에서 프린터 관리에 활용 가능한 VBS 스크립트
프린터를 손쉽게 관리할 수 있도록 Microsoft는 프린터 및 인쇄 대기열 관리, 프린터 드라이버 설치·제거 등을 수행할 수 있는 여러 VBS 스크립트를 제공합니다.
이 스크립트들은 Vista 및 Windows Server 2008 이후의 모든 Windows 버전에 포함되어 있으며, C:\Windows\System32\Printing_Admin_Scripts\en-US 디렉터리에 위치합니다.
참고:
- 시스템 언어에 따라 en-US 대신 다른 언어 디렉터리가 존재할 수 있습니다.
- Windows XP와 Windows Server 2003에서는 해당 VBS 스크립트가 C:\WINDOWS\system32 디렉터리에 저장됩니다.
이 폴더에는 다음과 같은 VBS 스크립트가 포함되어 있습니다:
- Prncnfg.vbs – 프린터 설정 정보를 표시하는 스크립트
- Prndrvr.vbs – 프린터 드라이버 관리(설치/제거)
- Prnjobs.vbs – 인쇄 작업 관리
- Prnmngr.vbs – 프린터 관리(시스템에 프린터 추가 및 삭제 포함)
- Prnport.vbs – TCP/IP 포트를 통한 원격 프린터 연결 관리
- Prnqctl.vbs – 인쇄 대기열 관리
- Pubprn.vbs – Active Directory에서의 프린터 게시 관리
참고: 다양한 Windows 버전에서 프린터를 관리하는 널리 알려진 방법 중 하나는 printui.dll 라이브러리와 그 진입점(PrintUIEntry)을 호출하는 호스트 프로세스 rundll32.exe를 이용하는 것입니다. rundll32 printui.dll,PrintUIEntry 명령만으로 프린터의 기본적인 작업을 수행할 수 있으며 Microsoft에서도 공식적으로 지원하지만, 관리자 입장에서는 VBS 스크립트를 활용하는 것이 더 효율적입니다.
지금부터 이 VBS 스크립트들의 대표적인 활용 시나리오를 하나씩 살펴보겠습니다.
명령줄에서 프린터 드라이버 설치하는 방법
로컬 프린터를 설치하고 구성할 수 있는 권한은 Administrators, Print Operators 또는 Server 로컬 그룹의 구성원에게만 부여됩니다.
다음 명령으로 HP 프린터 드라이버를 설치할 수 있습니다:cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" -a -m "HP Universal Printing PCL 6" -i "C:\drv\HP Universal Print Driver\hpcu160u.inf"
명령 매개변수는 다음과 같습니다:
-a – 프린터 드라이버 추가
-m "HP Universal Printing PCL 6" – 프린터 드라이버 이름
-i "경로" – 드라이버 INF 파일의 전체 경로
드라이버 설치가 완료되면 인쇄 서버 속성(제어판\하드웨어 및 소리\장치 및 프린터 → 인쇄 서버 속성)에 해당 드라이버가 표시됩니다.
참고: 호환되지 않는 프린터 드라이버를 사용해야 하는 경우에는 수동으로 설치할 수 있습니다.
명령 프롬프트에서 새 프린터 추가하는 방법
다음 명령을 사용하면 앞서 설치한 HP Universal Printing PCL 6 드라이버를 이용해 HP5525라는 이름의 새 프린터를 설치할 수 있습니다:cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -a -p "HP5520" -m "HP Universal Printing PCL 6" -r "lpt1:"
-a – 새 로컬 프린터 설치
-p "HP5520" – 프린터 표시 이름
-m "HP Universal Printing PCL 6" – 사용할 인쇄 드라이버
-r "lpt1:" – 사용할 로컬 인쇄 포트 이름. 이 경우 LPT 포트를 통해 인쇄가 진행됩니다. 병렬 포트(LPT1:, LPT2:), 직렬 포트(COM1:, COM2: – 설치 전에 해당 COM 포트가 다른 장치에서 사용 중이 아닌지 확인 필요), 또는 USB 포트(USB001 등)를 지정할 수도 있습니다.
CMD로 기본 프린터 관리하기
명령줄에서 기본 인쇄에 사용할 프린터를 지정할 수 있습니다. 먼저 다음 명령으로 설치된 모든 프린터 목록을 확인합니다:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -l
현재 기본 프린터의 이름을 확인하려면 다음 명령을 사용합니다:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -g
예시: 기본 프린터는 HP Universal Printing PCL 6 (redirected 1)로 표시됩니다.
다른 프린터를 기본 프린터로 설정하려면 다음 명령을 실행합니다:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -t -p "HP5525"
네트워크 프린터용 TCP/IP 포트 생성 방법
네트워크 프린터를 연결하려면 먼저 해당 프린터를 위한 TCP/IP 포트를 생성해야 합니다(프린터 IP 주소가 192.168.1.22라고 가정):cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\Prnport.vbs" -a -r IP_192.168.1.22 -h 192.168.1.22 -o raw -n 9100
-r IP_192.168.1.22 – 네트워크 포트 이름
-h 192.168.1.22 – 장치의 IP 주소
-o raw – 포트 유형(raw 또는 lpr)
-n 9100 – 장치의 TCP 포트 번호(일반적으로 9100 사용)
포트 생성 후 다음 명령으로 시스템에 새 네트워크 프린터를 설치합니다:cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -a -p "HP5525" -m "HP Universal Printing PCL 6" -r "IP_192.168.1.22"
스크립트 실행이 완료되면 시스템에 새 프린터 HP5525가 추가됩니다.
CMD에서 테스트 페이지 인쇄하는 방법
생성한 프린터로 테스트 페이지를 인쇄하려면 다음 명령을 실행합니다:cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnqctl.vbs" -e -p "HP5525"
명령 프롬프트에서 인쇄 대기열 관리하기
prnjobs.vbs 스크립트를 사용하면 인쇄 대기열의 작업을 확인할 수 있습니다. 모든 로컬 프린터의 인쇄 작업 전체를 표시하려면 다음 명령을 실행합니다:cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs" -l
특정 프린터의 작업만 확인하려면 프린터 이름을 지정합니다:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs" -l -p HP5525
특정 프린터의 인쇄 대기열을 비우려면 다음 명령을 실행합니다:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs" -x -p HP5525
또는 모든 프린터의 대기열을 한 번에 비울 수도 있습니다(인쇄 대기열을 수동으로 정리하는 것보다 훨씬 편리합니다):
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs" -x
명령줄로 네트워크 프린터 공유하기
명령 프롬프트에서 설치한 프린터는 기본적으로 로컬 프린터로 등록됩니다. Windows GUI를 통해 네트워크상의 다른 사용자와 공유할 수 있으며, 명령줄로도 공유가 가능합니다. 예를 들어 HP5525 프린터를 HP5525_Shared라는 이름으로 게시해 네트워크 액세스를 허용하려면 다음 명령을 사용합니다:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs" -t -p HP5525 -h "HP5525_Shared" +shared
프린터 공유를 해제하려면 다음을 실행합니다:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs" -t -p "HP5525" -shared
같은 방식으로 Active Directory에 프린터를 게시할 수도 있습니다:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs" -t -p HP5525 +published
AD에서 프린터 게시를 해제하려면 "-published" 인수를 사용합니다.
명령줄로 네트워크 공유 프린터 연결하는 방법
다른 컴퓨터에 연결되어 공유 중인 네트워크 프린터에 연결하려면 다음 명령을 사용합니다:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -ac -p "\\rome-prnt01\hp2100"
네트워크 프린터 연결 시 자주 발생하는 오류로는 0x00000002, 0x00000057, 0x0000007e 등이 있으며, 각 오류에 대한 해결 방법은 관련 문서를 참고하시기 바랍니다.
명령 프롬프트에서 프린터와 드라이버 삭제하는 방법
시스템에 설치된 프린터의 전체 목록은 다음 명령으로 확인할 수 있습니다:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -l
프린터를 삭제하려면 다음 명령을 사용합니다:cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "HP5525"
프린터 드라이버는 다음과 같이 삭제합니다:cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" -d -m "HP Universal Printing PCL 6" -e "Windows x64" -v 3
이 글에서는 다양한 Windows 버전에서 명령줄을 통해 프린터와 드라이버를 관리할 수 있게 해주는 Microsoft의 VBS 스크립트 활용법의 기본기를 살펴보았습니다. 각 스크립트의 전체 기능과 인수 목록은 Microsoft 공식 문서 또는 스크립트의 내장 도움말(명령줄에서 매개변수 없이 스크립트 파일을 실행하면 확인 가능)을 참고하시면 됩니다.
다음 글에서는 PowerShell을 통해 Windows 10/8.1 및 Windows Server 2016/2012 R2에서 제공되는 새로운 프린터 관리 기능을 소개하겠습니다.