GUIでガシガシやるのもいいんだけど、数が多いとスクリプトでやったほうがいいよね。
まずプリンタをインストールする際は、以下を行う必要がある。
1.ドライバのインストール
→pnputilコマンドとAdd-PrinterDriver
2.ポートの作成(ネットワークプリンタとする場合)
→Add-PrinterPort
3.ドライバとポート情報を元にプリンタを追加
→Add-Printer、Set-Printer
ここのサイトがすっごくわかりやすかった。
http://qiita.com/arachan@github/items/801d8ef7b41edc452978
で、上記サイトだと、New-Objectコマンドベースでの手順を案内してくれているけど、それをPrintManagement系のコマンドでやっちゃうよ。
たぶんServerだと2012、Windows8以降のPowershellバージョン4以上で追加されたモジュールだったはず。
じゃ、やってみるよ。
まず、プリンタドライバを入手するよ。
例として、「TOSHIBA eS850/853Series XPS」でやるよ。
ドライバを解凍して、infファイルのありかのパスとドライバ名をチェック。
管理者権限でPowershellを起動し、順次実行していく
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#ドライバをドライバーストアにインポートする #上記で特定したinfファイルを指定 PS C:\> pnputil -a "C:\work\e-ST600_PrintDriver_V350\XPS\XP_VISTA_X64\JPN\eB8mv6.inf" Microsoft PnP ユーティリティ 処理情報: eB8mv6.inf ドライバー パッケージが正常に追加されました。 公開名: oem11.inf 合計試行回数: 1 正常にインポートされた数: 1 #"TOSHIBA eS850/853Series XPS"用のプリンタドライバとしてドライバーストアから取得 #上記で特定したドライバ名を指定(一言一句同じにする) PS C:\> Add-PrinterDriver -Name "TOSHIBA eS850/853Series XPS" #ポート作成 PS C:\> [ipaddress]$TCPIPPort = "192.168.1.211" PS C:\> Add-PrinterPort -PrinterHostAddress $TCPIPport -Name $TCPIPport #プリンタの登録 PS C:\> Add-Printer -DriverName "TOSHIBA eS850/853Series XPS" -Name "TOSHIBA eS850/853Series XPS" -PortName "192.168.1.211" #共有設定、ディレクトリ表示設定をONに PS C:\> Set-Printer -Name "TOSHIBA eS850/853Series XPS" -Shared $TRUE -Published $TRUE |
コマンド実行後のプリンタの状態をチェック。
まず、ちゃんと登録されてる。
Set-Printerで設定した共有設定。
ちゃんとディレクトリ表示のチェックも入っている。
ポートも設定どおりの192.168.1.211に割り振られている。
という具合にできるはずだよ。
気が付いたことなど
・pnputilでドライバ登録時に署名されていないドライバの場合、登録できない
→ググればいろいろ情報あり
・Add-Printer実行時にSharedなどのオプションをつけると怒られたので、AddしてからSetした
・プリンタによっては、右クリ-プリンタのプロパティを押した際に、いきなり専用UIに飛ばすプリンタなどもあり、その場合、共有設定タブなどをいじれない場合がある。そんな時にSet-Printerで変えられちゃう。