강좌 / 팁

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

2020.01.14 12:46

레마클로 조회:2602 추천: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 - - -
3543 윈 도 우| 저장공간 확인 및 정리 [16] 레마클로 3177 17 01-15
» 윈 도 우| 설치된 기본프린터 확인 및 테스트페이지 인쇄 vbscript [25] 레마클로 2602 23 01-14
3541 윈 도 우| 마이크로소프트 윈도우 라이선스 정리 [7] gooddew 5251 14 01-11
3540 소프트웨어| SearchPreview - 웹 사이트의 미리보기 이미지 - Firefox +... VenusGirl 1251 2 01-06
3539 윈 도 우| PE 부팅 파티션 만들기 (legacy) [13] gooddew 3821 15 01-05
3538 기 타| Manjaro 리눅스 - 처음 설치 기본 가이드 [4] VenusGirl 3014 6 01-05
3537 소프트웨어| 배치파일 사용자 설정 파일 구현하기 [4] 히이이잌 2305 9 01-01
3536 소프트웨어| 데이터 영구 삭제 [5] gooddew 3081 8 01-01
3535 소프트웨어| 기상 정보-Forecastfox - Firefox+Google Chrome용 부가 기능 [3] VenusGirl 1212 9 12-31
3534 하드웨어| BIOS, CMOS, UEFI 는 무엇인가? [15] gooddew 3940 19 12-31
3533 윈 도 우| [UEFI] 부팅 PE 파티션 설치하기 [19] gooddew 6467 29 12-28
3532 기 타| elementary OS 5.1 Hera 설치 초보자 가이드 [1] VenusGirl 2221 3 12-27
3531 소프트웨어| Total Commander 용 클라우드 플러그인 [5] VenusGirl 1816 11 12-24
3530 윈 도 우| 그림으로 보는 복원영역 만들기 [50] 디폴트 5597 42 12-22
3529 모 바 일| 갤럭시s10 카메라 간단한 필수팁 [5] ton3d 3284 7 12-14
3528 윈 도 우| 초보자도 따라하는 전화 인증 [7] gooddew 6977 12 11-23
3527 윈 도 우| Windows-ISO-Downloader 짜증나는 광고제거 [6] sTarTrak 2272 13 11-23
3526 서버 / IT| 기업 보안 노트북에서 USB 사용하기 [9] %카리스마 4293 14 11-20
3525 윈 도 우| MBR2GPT 사용법 [13] gooddew 5070 16 11-18
3524 윈 도 우| 윈도우 시스템 에러 복구하기 [7] gooddew 4708 12 11-11
XE1.11.6 Layout1.4.8