法人環境でネットワークプリンターへの印刷時にトラブル発生。
印刷データが消失するPCと、そういう不具合が起きないPCとに分かれてしまった。印刷したハズなのにプリンターから出てこないPCは複数台あり、決まったPCでこの不具合が起きていることまで突き止めている。
そこでプリンタードライバの差異で、不具合が出る or 出ないの違いがあるのではないか?と言う推測をした。手っ取り早くドライバ情報を比較したいが遠隔地のPCでかつ台数も多い事がネックである。
プリンターテストを行うと紙に印刷される事は分かっているが、紙に印刷したものは比較しづらい(DIFFとか使えない)のでチェックするのが面倒だ。50台以上を目でチェックとなると本当に嫌になる。
そこで、バッチ処理でプリンター情報を取り出せないかなと言う発想になったが、そういえばプリンタードライバ情報を出力するVBSがWindowsに標準でついていた様な覚えがある。vbsのファイル名は覚えてないが、確かにvbsだったと記憶している。
エクスプローラで検索してみるとそれらしいファイルが入っているフォルダが見つかった。C:\windows\System32\Printing_Admin_Scripts\ja-JP
- prncnfg.vbs
- prndrvr.vbs
- prnjobs.vbs
- prnmngr.vbs
- prnport.vbs
- prnqctl.vbs
- pubprn.vbs
ファイル名から容易に”prndrvr.vbs”がプリンタドライバ情報を出力してくれるであろう事は推測出来る。コマンドプロンプトから
> cscript prndrvr.vbs -l
これでドライバ情報を全て出力出来るので、別名ファイルへリダイレクトすれば目的は達成出来た。後はAWKでチェックしたい部分を抜き出してDIFFで比較チェックすれば差異を見つけられる。
幸いWindows 7にはこのVBSファイルが標準で入っているので、バッチファイルで叩いてデスクトップ等に情報を保存させれば、メールで送って貰う事も可能だろう。
> cscript %SystemRoot%\System32\Printing_Admin_Scripts\ja-JP\prndrvr.vbs -l > %USERPROFILE%\desktop\printer-driver.txt
ちなみにこのコマンドで使えるオプションの詳細を見たければヘルプコマンドで
> cscript prndrvr.vbs /?
たったこれだけの事だが知っていると知らないとでは大違い。出来たハズという記憶だけでも残しておくといざという時に横着出来るので、やっぱり覚えておきたい。次に使うのはいつになるか分からないけれど。
コメント