강좌 / 팁

윈 도 우 설치된 기본프린터 확인 및 테스트페이지 인쇄 vbscript

2020.01.14 12:46

레마클로 조회:2558 추천:23

 

 

컴퓨터 수리업을 접은 지 5년 되어가네요.

업자분 들 필드에서 이용하실 수 있는 자료 들 틈나는 대로 올려 보겠습니다.

 

 

설치된 기본프린터 확인 및 테스트페이지 인쇄

윈도10 에서 저도 사용중입니다.

 

스크립트 시작

 

'--------------

If WScript.Arguments.length =0 Then

  Set objShell = CreateObject("Shell.Application")

  objShell.ShellExecute "wscript.exe", Chr(34) & _

  WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1

Else

'--------------

 

Dim objWMIService, colProcessList, objShell, objFSO, outFile

Set objShell = WScript.CreateObject("WScript.Shell")

Set objFSO = CreateObject("Scripting.FileSystemObject") 

curDir = objfso.GetParentFolderName(WScript.ScriptFullName) 

Set outFile = objFSO.CreateTextFile(curDir & "\DefPRNprint.cmd", True)

 

outFile.WriteLine "@echo off"

outFile.WriteLine "pushd ""%~dp0"""

outFile.WriteLine "setlocal"

outFile.WriteLine "for /f ""tokens=2*"" %%a in ('reg query ""HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows"" /v Device') do (set DefPRN1=%%b)"

outFile.WriteLine "for /f ""tokens=1 delims=,"" %%a in (""%DefPRN1%"") do set DefPRN=%%a"

outFile.WriteLine "start RUNDLL32 PRINTUI.DLL,PrintUIEntry /k /n ""%DefPRN%"""

outFile.WriteLine "endlocal"

outFile.Close

 

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colInstalledPrinters =  objWMIService.ExecQuery _

 ("Select * from Win32_Printer Where Default = TRUE")

 

For Each objPrinter in colInstalledPrinters

x=msgbox("★ 기본 프린터 : " & objPrinter.Name & "  ★" +vbCrLf+ "" +vbCrLf+ "            [  테스트 페이지를 인쇄할까요?  ]", 4, "기본 프린터 확인 & 테스트 페이지 인쇄")

Next

If x = VbYes Then

objShell.Run chr(34) & curDir & "\DefPRNprint.cmd" & Chr(34), 0, True

objFSO.DeleteFile(curDir & "\DefPRNprint.cmd")

Else

objFSO.DeleteFile(curDir & "\DefPRNprint.cmd")

Wscript.Quit

End If

End If

 

스크립트 끝

 

지후아빠님이 수정해주신 깔끔버전입니다.  

 

Dim objWMIService, colProcessList, objShell, objFSO, outFile

Set objShell = WScript.CreateObject("WScript.Shell")

Set objFSO = CreateObject("Scripting.FileSystemObject") 

curDir = objfso.GetParentFolderName(WScript.ScriptFullName) 

Set outFile = objFSO.CreateTextFile(curDir & "\DefPRNprint.cmd", True)

 

outFile.WriteLine "@echo off"

outFile.WriteLine "pushd ""%~dp0"""

outFile.WriteLine "setlocal"

outFile.WriteLine "for /f ""tokens=2*"" %%a in ('reg query ""HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows"" /v Device') do (set DefPRN1=%%b)"

outFile.WriteLine "for /f ""tokens=1 delims=,"" %%a in (""%DefPRN1%"") do set DefPRN=%%a"

outFile.WriteLine "start RUNDLL32 PRINTUI.DLL,PrintUIEntry /k /n ""%DefPRN%"""

outFile.WriteLine "endlocal"

outFile.Close

 

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'UTIL.exe'")

For Each objProcess in colProcessList

 objProcess.Terminate()

Next

 

Set colPrinters =  objWMIService.ExecQuery("Select * from Win32_Printer Where Default = TRUE")

For Each objPrinter in colPrinters

x = msgbox("★ 기본 프린터 : " & objPrinter.Name & "  ★" & vbCrLf & vbCrLf & _

"            [  테스트 페이지를 인쇄할까요?  ]", 4, "기본 프린터 확인 & 테스트 페이지 인쇄")

If x = VbYes Then objShell.Run chr(34) & curDir & "\DefPRNprint.cmd" & Chr(34), 0, True

Next

 

 

objFSO.DeleteFile(curDir & "\DefPRNprint.cmd")

 
번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
3591 모 바 일| [Tip] QR 코드로 와이파이 SSID와 비번 입력하기 [5] asklee 1844 8 02-09
3590 윈 도 우| PE DPI 조절 스크립트 V1.03 [14] 히이이잌 1799 19 02-09
3589 소프트웨어| [엑셀팁] 숫자를 숫자 <-> 문자 포멧 전환하기 [6] 지후빠 1839 4 02-09
3588 윈 도 우| ContextMenu on/off [5] 레마클로 1419 14 02-08
3587 윈 도 우| 파일명 변경(+확장자제거) - 수정완료 [17] 레마클로 1738 10 02-08
3586 윈 도 우| PE 우측하단 워터마크에 시스템 정보 넣기 [6] 히이이잌 1619 11 02-06
3585 윈 도 우| PESE로 기존 PE에 기능 추가하기(내용추가) [16] 히이이잌 2949 29 02-05
3584 윈 도 우| 윈도우 10 최적화 설정 하기 [31] gooddew 10273 44 02-02
3583 윈 도 우| PrincePE_V18.5 [164] %카리스마 204986 99 02-02
3582 윈 도 우| 무선랜 토글 만들기 + α [8] 레마클로 2588 6 02-01
3581 하드웨어| [Tip] 노트북 배터리 수명 확인 [9] asklee 3302 5 01-30
3580 소프트웨어| 파이어폭스 자체 스크린캡쳐 기능 사용하기 [8] 클라크 709 4 01-30
3579 소프트웨어| AdGuard 확장기능(스크립트)으로 브라우저에 날개를 [6] 오호라7 2532 11 01-28
3578 윈 도 우| grub2 로 부팅 단축키 설정하기 [7] gooddew 1981 11 01-27
3577 윈 도 우| 유용한 CMD 명령어 정리 [7] gooddew 4143 18 01-26
3576 기 타| [정보] 윈도우10 쓰는 사람 필독 [10] ♣OSISO™ 8839 19 01-25
3575 윈 도 우| 집앞의_큰나무님의 "우클 PE 부팅" 원클릭화 (TE... [5] 레마클로 2173 7 01-23
3574 윈 도 우| 볼륨,소리 조절 nircmd.exe 이용 (vbscript) -- 수정된 첨... [7] 레마클로 1938 6 01-20
3573 윈 도 우| 기본 프린터 확인 및 테스트 페이지 인쇄 batch script [5] 컨피그 1479 9 01-19
3572 윈 도 우| backup2VHD & 토글스위치(수정) [7] 레마클로 1717 13 01-17
XE1.11.6 Layout1.4.8