概要
Windows のコマンドラインからプリンター関連の操作を行うコマンドのまとめです。
1. プリンタードライバーをインストールするためのサービスの準備
Print Spooler
サービスと Device Install
サービスを自動起動するように構成して起動します。
これらのサービスが起動していないとプリンタードライバーのインストールが行えません。
PowerShell Set-Service Spooler -StartupType Automatic
PowerShell Start-Service Spooler
PowerShell Set-Service DeviceInstall -StartupType Automatic
PowerShell Start-Service DeviceInstall
Windows Server で Print Spooler サービスが利用できない場合は プリントサーバー
機能をインストールします。
PowerShell Install-WindowsFeature Print-Server
2. プリンタードライバーのインストール
INFファイルを使用してプリンタードライバーをインストールします。
指定するプリンタードライバー名はINFファイル内に記載されています。
pnputil /add-driver (INFファイルのパス) /install
PowerShell Add-PrinterDriver -Name 'プリンタードライバー名'
INFファイルを開くと、OSのアーキテクチャごとのセクションにプリンタードライバー名が記載されています。
; sample.inf
;
; (C) Printer Driver Inc. 2019
; Printer Driver for Windows
...(略)...
[XXXXX.NTamd64]
"プリンタードライバー名" = XXXXX,XXXXX
"プリンタードライバー名" = XXXXX,XXXXX
"プリンタードライバー名" = XXXXX,XXXXX
...(略)...
3. プリンターポートの追加 (必要に応じて)
任意のプリンターポートで印刷する場合はプリンターポートを追加します。
PowerShell Add-PrinterPort -Name 'プリンターポート名'
Windows の初期状態では以下のプリンターポートが既に追加されています。
>PowerShell Get-PrinterPort
Name ComputerName Description PortMonitor
---- ------------ ----------- -----------
COM1: ローカル ポート Local Monitor
COM2: ローカル ポート Local Monitor
COM3: ローカル ポート Local Monitor
COM4: ローカル ポート Local Monitor
FILE: ローカル ポート Local Monitor
LPT1: ローカル ポート Local Monitor
LPT2: ローカル ポート Local Monitor
LPT3: ローカル ポート Local Monitor
PORTPROMPT: ローカル ポート Local Monitor
SHRFAX: FAX モニター ポート Microsoft Shared ...
印刷データをファイルに直接出力する場合はプリンターポート名にファイルパスを指定します。
PowerShell Add-PrinterPort -Name 'C:\output.ps'
ダミーのプリンターなどを使用する場合など、印刷データを出力する必要がない場合は null ポートを指定します。
PowerShell Add-PrinterPort -Name 'NUL:'
4. プリンターの追加
プリンタードライバーとプリンターポートを関連付けてプリンターを追加します。
PowerShell Add-Printer -Name 'プリンター名' -DriverName 'プリンタードライバー名' -PortName 'LPT1:'
5. 通常使うプリンターに設定する
プリンターを通常使うプリンターとして設定します。
cscript C:\Windows\System32\Printing_Admin_Scripts\ja-JP\prnmngr.vbs -p "プリンター名" -t
6. 印刷テストを行う
プリンターにテストページの印刷データを送信します。
cscript C:\Windows\System32\Printing_Admin_Scripts\ja-JP\prnqctl.vbs -p "プリンター名" -e
7. プリンターを一時停止状態にする
プリンターを一時停止状態にして一時的に印刷データを処理しないようにします。
cscript C:\Windows\System32\Printing_Admin_Scripts\ja-JP\prnqctl.vbs -p "プリンター名" -z
一時停止状態を解除します。
cscript C:\Windows\System32\Printing_Admin_Scripts\ja-JP\prnqctl.vbs -p "プリンター名" -m
8. 印刷ジョブの一覧を確認する
すべてのプリンターの印刷ジョブの一覧を確認します。
cscript C:\Windows\System32\Printing_Admin_Scripts\ja-JP\prnjobs.vbs -l
指定したプリンターだけの印刷ジョブの一覧も確認できます。
cscript C:\Windows\System32\Printing_Admin_Scripts\ja-JP\prnjobs.vbs -p "プリンター名" -l