Computer >> 컴퓨터 >  >> 체계 >> Windows Server

Windows 10 / Server 2016에서 PowerShell을 사용하여 프린터 및 드라이버 관리

이전 기사에서는 Windows XP부터 시작하여 모든 Windows 버전에서 프린터 및 인쇄 작업을 관리하는 데 사용할 수 있는 구식 VBS 스크립트를 살펴보았습니다. 오늘 우리는 PowerShell을 사용하여 프린터, 인쇄 포트, 드라이버 및 대기열을 설치, 관리 및 제거하는 일반적인 명령을 고려할 것입니다. PowerShell CLI에서 프린터를 관리하는 이러한 방법은 최신 운영 체제(Windows 10/8.1 및 Windows Server 2019/2016/2012 R2)에서 사용할 수 있습니다.

PowerShell 모듈:PrintManagement

Windows 8.1 및 Windows Server 2012 R2 출시와 함께 Microsoft는 Windows 기반 인쇄 서버 관리 cmdlet 목록을 크게 확장한 새 버전의 PowerShell 4.0(Windows Management Framework 4.0의 일부)을 출시했습니다. 다음 명령을 사용하여 Windows 10(PowerShell v5)의 PrintManagement 모듈에서 사용할 수 있는 인쇄, 드라이버 및 인쇄 대기열 관리 cmdlet의 전체 목록을 가져올 수 있습니다.

Get-Command –Module PrintManagement

Windows 10 / Server 2016에서 PowerShell을 사용하여 프린터 및 드라이버 관리 PrintManagement 모듈에는 프린터, 드라이버, 인쇄 포트 및 대기열을 관리하기 위한 22개의 PowerShell cmdlet이 포함되어 있습니다.

  • 프린터 추가 – 새 프린터 추가(설치)
  • 프린터 드라이버 추가 – 새 인쇄 드라이버 설치
  • 프린터 포트 추가 – 로컬 인쇄 포트 생성
  • Get-PrintConfiguration – 프린터 구성 표시
  • Get-Printer – 컴퓨터에 설치된 프린터 목록을 표시합니다.
  • 프린터 드라이버 가져오기 – 설치된 드라이버 목록을 표시합니다.
  • Get-PrinterPort – 프린터 포트 목록을 표시합니다.
  • Get-PrinterProperty – 프린터 속성 표시
  • Get-PrintJob – 프린터 인쇄 작업 목록을 가져옵니다.
  • 프린터NfcTag 읽기 – NFC 태그에서 프린터 정보를 얻습니다.
  • 프린터 제거 – 프린터를 제거합니다.
  • 프린터 드라이버 제거 — 프린터 드라이버 제거
  • PrinterPort 제거 – 프린터 포트를 제거합니다.
  • 인쇄 작업 제거 – 프린터에서 인쇄 작업을 삭제합니다.
  • 프린터 이름 바꾸기 – 프린터 이름 바꾸기,
  • Restart-PrintJob – 인쇄 작업을 다시 시작합니다.
  • Resume-PrintJob – 일시 중지된 인쇄 작업을 재개합니다.
  • 인쇄 구성 설정 – 프린터 구성을 설정합니다.
  • 세트 프린터 – 프린터 구성 업데이트
  • 프린터 속성 설정 – 프린터 속성 변경
  • 인쇄 작업 일시 중단 – 인쇄 작업을 일시 중지(일시 중지)합니다.
  • Write-PrinterNfcTag – NFC 태그에 정보를 기록합니다.

명령 구문에 대한 자세한 정보를 얻으려면 다음 명령을 사용하십시오.

Get-Help <cmdlet_name> -Detailed

명령 사용 예:

Get-Help < cmdlet_name> -Examples

Windows 10에서 PowerShell을 사용하는 일반적인 프린터 관리 작업의 몇 가지 예를 살펴보겠습니다.

DriverStore에 프린터 드라이버 추가

Windows DriverStore에 설치된 인쇄 드라이버를 나열하려면:

Get-PrinterDriver

Windows 10 / Server 2016에서 PowerShell을 사용하여 프린터 및 드라이버 관리

그런 다음 시스템에 새 프린터 드라이버를 설치합니다. 예를 들어 널리 사용되는 인쇄 드라이버 "HP Universal Printing PCL 6"을 설치하려고 합니다. 설명서에 따르면 인쇄 드라이버를 추가하는 PowerShell 명령은 다음과 같아야 합니다.

Add-PrinterDriver -Name "HP Universal Printing PCL 6" -InfPath "C:\Distr\HP-pcl6-x64\hpcu118u.inf"

그러나 이 방법으로 드라이버를 설치하려고 하면 다음 오류 메시지가 나타납니다.

Add-PrinterDriver:이 작업에 대해 지정된 하나 이상의 매개변수에 잘못된 값이 있습니다.At line:1 char:1 + Add-PrinterDriver -이름 "HP Universal Printing PCL 6" -InfPath "C:\Di ...+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo          :InvalidArgument:(MSFT_PrinterDriver:ROOT/StandardCimv2/MSFT_PrinterDriver) [Add-PrinterDriver], CimException   + FullQualifiedErrorId :HRESULT 0x80070057,Add-PrinterDriver

Windows 10 / Server 2016에서 PowerShell을 사용하여 프린터 및 드라이버 관리

INF 파일의 드라이버는 DriverStore에 이미 있는 경우에만 설치할 수 있습니다. Add-PrinterDriver 명령을 사용하여 드라이버 저장소에 없는 인쇄 드라이버를 설치할 수 없는 것 같습니다. DriverStore에 드라이버를 추가하려면 다음을 사용할 수 있습니다.

  • 이전 기사에서 설명한 VBS 스크립트
  • 유틸리티 — pnputil.exe . 명령은 다음과 같습니다. pnputil.exe -i -a C:\Distr\HP-pcl6-x64\hpcu118u.inf (특정 프린터 드라이버 설치) 또는 pnputil.exe -i -a C:\Distr\HP-pcl6-x64\*.inf (지정된 디렉토리의 INF 파일에서 찾은 모든 드라이버를 설치합니다); Windows 10 / Server 2016에서 PowerShell을 사용하여 프린터 및 드라이버 관리
  • Add-WindowsDriver cmdlet 드라이버를 오프라인 Windows 이미지에 통합할 수 있습니다.

드라이버 저장소에 프린터 드라이버를 추가한 후 인쇄 서버에 설치해야 합니다.

Add-PrinterDriver -Name "HP Universal Printing PCL 6"

Windows 10 / Server 2016에서 PowerShell을 사용하여 프린터 및 드라이버 관리

도움말 . PowerShell을 통해 드라이버를 설치할 때 인쇄 드라이버 이름 필드에 무엇을 지정해야 하는지 찾는 방법은 무엇입니까? 지정된 인쇄 드라이버 이름은 내부 시스템 이름과 정확히 일치해야 합니다. 그렇지 않으면 드라이버 설치 중에 오류가 나타납니다. get-printerdriver를 사용하여 올바른 드라이버 이름을 찾을 수 있습니다. 이 인쇄 드라이버가 이미 설치된 컴퓨터에서 명령을 실행하거나 드라이버의 .inf 파일을 수동으로 검사합니다. Windows 10 / Server 2016에서 PowerShell을 사용하여 프린터 및 드라이버 관리

PowerShell을 사용하여 프린터를 설치하는 방법

네트워크 프린터용 IP 포트 생성(여기서 네트워크 프린터의 IP 주소와 원격 인쇄 서버의 이름을 모두 지정할 수 있음):

Add-PrinterPort -Name "IP_192.168.10.26" -PrinterHostAddress "192.168.10.26"

새 IP 인쇄 포트를 추가하기 전에 존재하는지 확인할 수 있습니다.

$portName = "IP_192.168.10.26"
$checkPortExists = Get-Printerport -Name $portname -ErrorAction SilentlyContinue
if (-not $checkPortExists) {
Add-PrinterPort -name $portName -PrinterHostAddress "192.168.10.26"
}

다음 명령을 사용하여 컴퓨터에 새 프린터를 설치하고 공유합니다.

Add-Printer -Name hp3027_Office1_Buh -DriverName "HP LaserJet M3027 MFP PCL6 Class Driver" -PortName IP_192.168.10.26 -Shared -ShareName "hp3027_1_BUh" –Published

Windows 10 / Server 2016에서 PowerShell을 사용하여 프린터 및 드라이버 관리

참고 :VBS 스크립트(관리 스크립트 인쇄)를 사용하여 동일한 작업(프린터 설치 및 공유)을 수행하려면 두 가지 다른 명령을 수행해야 합니다.

이 명령을 실행하면 "hp3027_Office1"이라는 이름의 새 공유 프린터가 시스템에 나타납니다.

Windows 10 / Server 2016에서 PowerShell을 사용하여 프린터 및 드라이버 관리

프린터 이름을 바꾸려면 다음 명령을 실행하십시오.

Rename-Printer -Name "hp3027_1_Buh" -NewName "hp3027_F1_Salary"

인쇄 서버에 설치된 프린터 나열

이 컴퓨터에 설치된 프린터의 전체 목록을 표시해 보겠습니다.

Get-Printer

보시다시피 이 명령은 프린터 이름, 유형(로컬 또는 네트워크), 드라이버, 인쇄 포트, 프린터가 Active Directory에서 공유 및 게시되는지 여부를 표시합니다.

Windows 10 / Server 2016에서 PowerShell을 사용하여 프린터 및 드라이버 관리

대부분의 PrintManagement cmdlet은 상태를 보고 원격 컴퓨터(인쇄 서버)의 프린터, 드라이버 및 인쇄 대기열을 관리하는 데 사용할 수 있습니다. 원격 컴퓨터 또는 서버의 이름은 –ComputerName 인수로 지정됩니다. 매개변수.

PowerShell 명령을 사용하여 원격 컴퓨터에 설치된 프린터에 대한 정보를 얻을 수 있습니다.

Get-Printer -ComputerName rome-prnt1 | Format-List Name,DriverName

공유 프린터 목록만 표시하려면 다음 명령을 사용하십시오.

Get-Printer -ComputerName rome-prnt1 | where Shared -eq $true | fl Name

PowerShell을 사용하여 네트워크 공유 프린터에 연결

인쇄 서버에서 공유 프린터를 연결하려면 다음 명령을 사용하십시오.

Add-Printer -ConnectionName \\rome-prnt1\HP3027

Windows 10은 인쇄에 사용된 최신 프린터를 기본 프린터로 사용합니다. 고정된 기본 프린터를 사용하려면 다음 명령을 실행하십시오.

Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" -Name "LegacyDefaultPrinterMode" -Value 1 –Force

기본 프린터를 설정하려면 다음 명령을 사용할 수 있습니다.

$wsnObj = New-Object -COM WScript.Network
$wsnObj.SetDefaultPrinter(%PrinterName%)

PowerShell을 사용하여 프린터를 제거하는 방법

프린터를 제거하려면 다음 PowerShell 명령을 실행해야 합니다.

Remove-Printer -Name "hp3027_L1_O1"

Remove-PrinterDriver cmdlet을 사용하여 특정 드라이버를 제거할 수 있습니다.

Remove-PrinterDriver -Name "HP Universal Printing PCL 6"