Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

Windows 10/8.1でコマンドプロンプトからプリンターを管理する方法【実践ガイド】

本記事では、Windows 10/8.1およびWindows Server 2012 R2/2016環境において、コマンドプロンプトからプリンターとそのドライバーを管理する方法を詳しく解説します。新しいローカルプリンターやネットワークプリンターのインストール、プリンタードライバーの追加、TCP/IP印刷ポートの作成、テストページの印刷、ドライバーやプリンターの削除まで、シンプルなWindowsコマンドで実行できる操作を取り上げます。これらのコマンドは、SCCMタスクでの無人プリンターインストール、グループポリシーのログオンスクリプト、Server Coreモードで稼働するサーバーなど、GUIが使えないさまざまなシナリオで非常に役立ちます。

Windows標準のVBSスクリプトでプリンターを管理する

Microsoftは、プリンターと印刷キューの管理、プリンタードライバーのインストール・アンインストールなどを自動化できる複数のVBSスクリプトを公式に提供しています。

これらのスクリプトは、Windows VistaおよびWindows Server 2008以降のすべてのバージョンに標準で含まれており、C:\Windows\System32\Printing_Admin_Scripts\en-US ディレクトリに格納されています。

補足:

  1. 日本語環境の場合、en-US の代わりに ja-JP ディレクトリが使用されることがあります。システム言語に対応したフォルダーを確認してください。
  2. Windows XPおよびWindows Server 2003では、これらのVBSスクリプトは C:\WINDOWS\system32 ディレクトリ直下に保存されています。

Windows 10/8.1でコマンドプロンプトからプリンターを管理する方法【実践ガイド】

このフォルダーには、以下のVBSスクリプトが含まれています。

  • Prncnfg.vbs – プリンター設定情報の表示・変更
  • Prndrvr.vbs – プリンタードライバーの管理(インストール/アンインストール)
  • Prnjobs.vbs – 印刷ジョブの管理
  • Prnmngr.vbs – プリンターの管理(システムへの追加・削除を含む)
  • Prnport.vbs – TCP/IPポート経由のリモートプリンター接続の管理
  • Prnqctl.vbs – 印刷キューの管理
  • Pubprn.vbs – Active Directoryへのプリンター公開の管理

参考: Windowsでプリンターを管理する有名な方法として、ホストプロセス rundll32.exe を使ってライブラリ printui.dll のエントリポイント(PrintUIEntry)を呼び出す手法があります。rundll32 printui.dll,PrintUIEntry コマンドだけでもプリンターの基本操作は実行でき、Microsoftによって正式にサポートされていますが、管理者の観点からは、より柔軟なVBSスクリプトの利用が推奨されます。

それでは、これらのVBSスクリプトの典型的な使用シナリオを順番に見ていきましょう。

コマンドラインからプリンタードライバーをインストールする方法

ローカルプリンターのインストールと構成の権限は、ローカルグループ「Administrators」「Print Operators」「Server Operators」のメンバーに付与されています。

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"

Windows 10/8.1でコマンドプロンプトからプリンターを管理する方法【実践ガイド】各パラメーターの意味は以下の通りです。

  • -a – プリンタードライバーを追加する
  • -m "HP Universal Printing PCL 6" – インストールするプリンタードライバーの名前
  • -i "パス" – ドライバーのINFファイルへのフルパス

ドライバーのインストール後、プリントサーバーのプロパティ(コントロールパネル\ハードウェアとサウンド\デバイスとプリンター → プリントサーバーのプロパティ)に表示されます。

Windows 10/8.1でコマンドプロンプトからプリンターを管理する方法【実践ガイド】

補足: 互換性のないプリンタードライバーを使用する必要がある場合は、手動でのインストールも可能です。

コマンドプロンプトから新しいプリンターを追加する方法

次のコマンドを使用すると、事前にインストールした「HP Universal Printing PCL 6」ドライバーを使って、「HP5520」という名前の新しいローカルプリンターを登録できます。
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -a -p "HP5520" -m "HP Universal Printing PCL 6" -r "lpt1:"

Windows 10/8.1でコマンドプロンプトからプリンターを管理する方法【実践ガイド】

  • -a – 新しいローカルプリンターをインストールする
  • -p "HP5520" – プリンターの表示名
  • -m "HP Universal Printing PCL 6" – 使用するプリンタードライバー
  • -r "lpt1:" – 使用するローカル印刷ポートの名前。この例ではLPTポート経由で印刷します。ここにはパラレルポート(LPT1:、LPT2:)、シリアルポート(COM1:、COM2: ※インストール前に他のデバイスが使用していないことを確認してください)、または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

Windows 10/8.1でコマンドプロンプトからプリンターを管理する方法【実践ガイド】

既定のプリンターは「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」がシステムに追加されます。

Windows 10/8.1でコマンドプロンプトからプリンターを管理する方法【実践ガイド】

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

1台のプリンターの印刷キューをクリアするには、次のコマンドを使用します。

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

コマンドラインでネットワークプリンターを共有する

コマンドプロンプトからインストールしたプリンターは、すべてローカルプリンターとして登録されます。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における新しいプリンター管理機能を紹介します。

  1. コマンドプロンプトでWindows 7のパスワードをリセットする3つの方法

    ローカルアカウントでも管理者アカウントでも、ログイン用のパスワードを忘れてしまった場合、コマンドプロンプトを使えばWindows 7のパスワードをリセットできます。意外と簡単にパスワード問題を解決できるので、ぜひ本記事の手順を参考にしてみてください。 方法1:セーフモードのコマンドプロンプトでWindows 7のパスワードをリセットする 方法2:スタートアップ修復からコマンドプロンプトを起動してパスワードをリセットする 方法3:CMDでのリセットに失敗したら「Windows Password Key」を試す 方法1:セーフモードのコマンドプロンプトでWindows 7のパスワードをリセット

  2. Windows 10で管理者としてコマンドプロンプトを開く5つの方法

    Windowsのコマンドプロンプト(cmd.exeまたはcmdとも呼ばれます)は、ウィンドウにコマンドを入力することでプログラムの実行、設定の変更、ファイルへのアクセスができるアプリケーションです。GUIアプリの代わりにコマンドラインを使用する必要がある場面は多く、その多くのコマンドを実行するには管理者権限が必要となります。この記事では、Windows 10で管理者としてコマンドプロンプトを開くための、簡単かつ迅速な5つの方法を詳しく解説します。 Windowsコマンドプロンプトとは コマンドプロンプトは、入力されたコマンドを実行するための最も強力なツールの一つです。Microsoftによっ