web-dev-qa-db-ja.com

PowerShellスクリプトを使用してWindows7のプリンタードライバーキャッシュを削除します

[バックグラウンド]

ネットワーククライアントが突然印刷できなくなるという問題が発生しています。 16進コードで奇妙なエラーが発生します。ドライバーの何かが台無しになっていると判断し、ドライバーのキャッシュをクリアしてドライバーを再インストールすることで問題を解決できました。これは、ランダムなコンピューターで頻繁に発生します。この問題が発生しているのは最新のDell2330dnドライバのみであるため、これは最新のDell2330dnドライバのバグであると想定しています。

[問題]

私たちが探しているのは、ドライバーのキャッシュをクリアしてドライバーを再ダウンロードするPowershellスクリプトを作成することです。キュー、サーバー、ポートを管理するためのスクリプトがたくさんありますが、ローカルドライバーのキャッシュ管理には何もありません。

[現在の回避策]

これは手動で行う必要があるため、このスクリプトで何を複製するかがわかるように手順を記述します。

  1. 印刷スプーラを無効にする
  2. マシンを再起動します
  3. 次の内容を削除します:C:\ windows\system32\pool\drivers\w32x86
  4. 印刷スプーラーを有効にして、サービスを開始します。
  5. ネットワークプリンタオブジェクトを削除し、サーバーからネットワークプリンタを再度追加します。

[リクエスト]

上記の回避策をスクリプトのペアに変換するには、PowerShellを使用するだけで十分です。現在の回避策よりもエレガントな解決策を見つけたいと思います。

助言がありますか?

5
Doltknuckle

PowerShellを使用しているからといって、sc stop/start servicenameNet Useなどの古き良きコマンドを使用できないわけではありません。

本当にシステムの再起動が必要な場合は、おそらく2つの別々のスクリプトが必要になります。

プリンタドライバディレクトリの内容を削除することの問題は何ですか?それとも「ファイル管理」とは別の意味ですか?

2
northben