IT-4 2017/8/28 執筆

プリンタドライバの追加・作成をバッチで行う方法

環境:プリンタ固定IP, TCP/IP経由での印刷
Windows7,8,8.1 64bitにて動作確認済
下記プリンタ等で動作確認済
 Xerox:DocuPrint 3050, 3100, 505, 5100 d, C2450, C3050, C3360, P350
 Canon:CX 650, LBP3310, 3900, 3910, 3920, 5910
 -複合機:iR C3080/FAX, C4080/FAX, iR-ADV 4225, C5030/FAX, C5235/FAX
 Fujitsu:FMPR3020, 5410, 5420
 Richo:IPSiO SP C710
 Sato:MT410e
IT-4-1

事前に準備するもの
・プリンタのIP
・プリンタのドライバ(メーカーサイトからダウンロード)
 ※下記解説はxerox「DocuPrint 3050」を使用した例を記載
・指定したいポート名・プリンタ名

バッチ

    cscript C:\Windows\System32\Printing_Admin_Scripts\ja-JP\prnport.vbs -a -r IP_100.1.1.123 -h 100.1.1.123 -o raw -n 9100
    rundll32.exe printui.dll,PrintUIEntry /if /f "
    \\Directory\fxlsmji.inf" /m "FX DocuPrint 3050" /r "IP_100.1.1.123" /b "XR-3050" pause
赤文字を環境に合わせて置き換えてご使用下さい。

・prnport.vbs プリンタポートの作成 (存在する場合はUPDATE)
IP_100.1.1.123:指定したいプリンタポート定義名 (何でも良い)
100.1.1.123:プリンタのIP

・rundll32.exe ドライバのインストール・プリンタの作成
\\Directory\fxlsmji.inf:INFファイルのパス
FX DocuPrint 3050:INFファイル内のドライバ定義名
IP_100.1.1.123:プリンタポート名
XR-3050:指定したいプリンタ定義名
IT-4-4

IT-4-5

INFファイルのパス

ドライバを解凍すると「fxdp3050plw14111nwxp6fja」フォルダが生成されます。
そのフォルダ配下に「.INF」ファイルが存在するか確認。
IT-4-2

上記階層に存在しない場合最上位階層で「.INF」で検索
このファイルが無ければバッチでの追加はできません。

INFファイル内のドライバ定義名

「.INF」ファイルをメモ帳等で開く
IT-4-3
この内容から読み取れるのは64/32bit兼用、3050/2060の共通ドライバーになっている (だぶん)
今回は64bit DocuPrint3050なので赤枠内の「FX DocuPrint 3050」が使用する定義名
※この定義名はメーカによっても記述方法が異なります。

私の会社ではDBで各プリンタのIP・ドライバーパス等を管理し、VBで上記バッチの生成・起動を行っています。