てんちょです。最近体調を崩し気味です。歳のせいでしょうか。
先日、利用事務系の端末・プリンタの更新がありました。作業自体はベンダーさんが手際よく一気に進め、こちらは手際のよさに感心するばかり。さすがプロですね。
今回更新したプリンタですが、一部でプリントサーバを取り付けて(モノによってはパラレルポートに…)業務端末と共有しているプリンタがあり、これらのプリンタは交換後にドライバを再配布しなければなりませんでした。当日になるまですっかり忘れていましたが、いつものようにバッチファイルを作って資産管理ソフトで配布することにしました。
現在使用しているプリンタポートを削除→ドライバインストール→ポート追加の手順でバッチファイルを作成します。で、いざ実行してみると、「要求されたリソースは使用中です」となりポート削除でエラーとなりました。どうやらスプーラサービスを止めて再起動させることで回避できるようです。
ようやくテスト環境で成功、さらにちゅん氏のPCに配布してみましたが、こちらもうまくいきました。これで問題なさそうなので全台に配布!ところがいざ当日になるとなかなか配布が進みません…。再配布など試みましたが、適用されない端末が。結局庁舎内で失敗した端末は手動でバッチファイルを実行することになりました。
最近なぜかうまくいかないプリンタの一括配布。今回のようにINF指定のバッチで流すのが正解なのか、メーカーによっては設定済みのexeを実行させるほうがいいのか…どれが正解なんでしょう。
次回は生成AIに作ってもらおうと思います。
(投稿者:てんちょ)
てんちょさん、こんにちは。
e-ab と申します。
兵庫在住、某プリンタメーカのSE(再雇用中であまり実働はしていない)ですが、
現役時代の本業は地方自治体様向けPM専任であり、お客様と仲良くなるための
「決して逮捕されない手土産」として標準技術によるドライバ配付管理を研究していました。
さて、「メーカ製ツールで作成したインストーラか、バッチ(またはWSH)か?」ですが、
メーカ製インストーラでは処理仕様がブラックボックス化されており、メーカごとに
ばらつきがあるため、納入者決定後にその仕様が判明することになるのが最大の難点だと
思います。(その分、瑕疵修正やOS更新プログラムの影響対応コストは先方持ち)
構成要素ごとに説明すると以下のとおりです。
・Std.TCP/IPポート
OSの仕様により、上書き構成するのに管理者特権は不要で、他のプリンタで使用中でも
ポート名競合(既存同名ポート)を上書き解決できてしまいます。
バッチ等の標準技術なら以下から競合解決手段を指定できます。
・上書き構成:Cscript PrnPort.vbs / WMI Win32_TCPIPPrinterPortクラス
・処理スキップ:Powershell Add-PrinterPortコマンド
・プリンタ作成も同様に
・上書き構成:WMI Win32_Printerクラス
・追加側のリネーム:rundll32 printui.dll,PrintUIEntry(GUI系なのでリネーム値の取得不可))
・処理スキップ:Cscript PrnMngr.vbs / Powershell Add-Printerコマンド
もちろん前述のとおり、今日働いてくれたバッチが来月も現役である保証がないのがネックです。
以下でプリンタリストを取得できる便利ツールの「Wmic.exe」ですが、
・wmic printer get DeviceID,DriverName,PortName /value
「wmic /?」とたたくと、win10のとあるバージョンから「非推奨です」の赤文字が表示されます。
以上、たまたま本サイトにヒットしただけなのでレスポンスが遅くなりましたが、
何かのご参考になれば幸いです。
退職(2度目の)後に持っていても役に立つ情報ではありませんので。
// e-ab@某プリンタメーカ
コメント、また詳しい説明いただきありがとうございます。大変参考になりました。
状況次第ですが今回のプリンタ展開に関してはメーカーツールを使うのが正解だったのかなと思っています。