Windowsでプリンターがなかなか消えない時の対処法は、ちょっと面倒ですが、意外とよくあるものです。コントロールパネルからプリンターが消えなかったり、削除しようとすると「アクセスできません」や「プリンターポートが使用中です」といったエラーが何度も表示されたりすることがあります。さらに、プリンターが印刷キューやレジストリには表示されているのに、通常の場所に表示されないこともあります。基本的な方法を試してもプリンターが消えない場合は、実際に効果があった方法をご紹介します。コマンドラインツールとレジストリ操作を組み合わせたものです。ネタバレ注意:常に完璧というわけではありませんが、Windowsに手動で削除させようと何時間も費やすよりはずっとましです。念のため言っておきますが、レジストリをいじるのはリスクが伴うので、必ず事前にバックアップを取ってください。
Windowsでプリンターを適切に削除する方法
まずは標準的な方法を試してください。通常はそれで十分です。
プリンターがまだ表示され、「デバイス」または「プリンターとスキャナー」に表示されている場合は、そこから始めてください。これはよくある方法ですが、Windowsが複雑に絡み合っている場合やプリンターが不安定な場合は、必ずしもうまくいくとは限りません。そのため、「設定」 > 「デバイス」 > 「プリンターとスキャナー」を開いてください(またはms-settings:printersアドレスバーに入力してください)。なかなか消えないプリンターを選択し、「デバイスの削除」をクリックしてください。確認すると、消えるかもしれません。消えない場合は、無視しないでください。追加の手順が必要であることを示しています。
昔ながらのコントロールパネルから削除することもできます。「ファイル名を指定して実行」control /name Microsoft. DevicesAndPrintersダイアログ(Win + R)またはコマンドプロンプトから実行します。プリンターを見つけて右クリックし、「デバイスの削除」を選択します。特にネットワークプリンターや共有プリンターの場合は、この追加手順で問題が解決することもあります。
印刷キューがまだアクティブな場合、Windows が削除をブロックする可能性があります。クリーンな状態から始めるには、コントロールパネルの同じリンクから印刷キューを開き、「プリンター」 > 「すべてのドキュメントのキャンセル」に進みます。このクリーンアップを活用してから、デバイスの削除を再度試してください。環境によっては、ネットワークポリシーや GPO の制限によって削除が困難になる場合があるので、ご注意ください。
より詳細なクリーニングには印刷管理コンソールを使用します
これはかなり信頼性が高いです。 で起動しますprintmanagement.msc。「プリントサーバー」 > お使いのコンピュータ > 「プリンタ」に移動します。問題のあるプリンタを見つけて右クリックし、「削除」を押します。一部のマシンでは、この方法でシステムに固着したプリンタを外すことができます。特に、通常のコントロールパネルにプリンタが表示されない場合に効果的です。
コマンドラインマジック – Windows スクリプトと PowerShell
GUIメソッドが失敗した場合は、Windows組み込みスクリプトを使用してください。管理者権限でコマンドプロンプトまたはPowerShell(管理者として実行)を開き、次のコマンドですべてのプリンターを一覧表示します。
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -l
これにより、インストールされているすべてのプリンターがダンプされます。削除するプリンターの正確な名前を探します。
削除するには、次のコマンドを実行します。
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "Name of Printer"
「プリンター名」をリストにある正確な名前に置き換えてください。注: 名前にスペースが含まれている場合は引用符が必要です。
または、より現代的なアプローチである PowerShell に切り替えて、次のコマンドで削除します。
Remove-Printer -Name "Name of Printer"
PowerShell に慣れている場合は、このコマンドレットで十分です。場合によっては、古いスクリプトや WMI よりもうまく機能することもあります。いずれにせよ、どちらの方法も優れているので、最も簡単だと感じる方を選んでください。
通常の方法では不十分な場合の対処法 – 強制除去
印刷スプーラーを手動でクリアする
これは少し強引な方法ですが、効果はあります。プリンターが動かなくなる原因は、スプールファイルが残っていることがほとんどです。管理者権限のPowerShellまたはコマンドプロンプトで以下のコマンドを実行してください。
net stop spooler del %systemroot%\System32\spool\printers\*.shd /F /Q del %systemroot%\System32\spool\printers\*.spl /F /Q net start spooler
スプーラサービスを停止し、すべての印刷ジョブファイルを削除してから再起動します。これは、削除を妨げている「ゴースト」印刷ジョブを効果的に削除する方法です。
レジストリから削除する(問題がない場合のみ)
新たなレベルのものがここにあります。 を開いてregedit.exe、こちらへアクセスしてください:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers
プリンターのキー(「HP LaserJet…(Copy 1)」のような表示)を見つけます。右クリックして削除します。その後、PCを再起動します。通常はプリンターは表示されなくなりますが、関連エントリが残っている場合は、Windowsにプリンターが表示されることがあります。
「この操作は制限によりキャンセルされました」のようなエラーが表示された場合は、グループポリシーによって削除操作がブロックされている可能性があります。gpedit.msc の「ユーザーの構成」→「管理用テンプレート」→「コントロールパネル」→「プリンター」で、「プリンターの削除を禁止する」が有効になっているかどうかを確認してください。ドメインポリシーによって手動削除が禁止されている場合があり、その場合はドメイン管理者のサポートが必要になる可能性があります。
もう一つのヒント:デバイスマネージャー(devmgmt.msc)で「表示」 > 「非表示のデバイスの表示」を有効にし、非表示のプリンターを削除してみてください。印刷キューを展開し、残っているものがあれば削除してください。
プリンタドライバのアンインストール – 削除後のクリーンアップ
残ったドライバーパッケージを削除する
プリンターが消えても、ドライバーファイルが残っている可能性があります。これらを削除するには、services.mscスプーラーを実行して再起動するか、PowerShellを使用してください。
Restart-Service spooler -Verbose
次に、印刷管理ツールを再度起動します(詳細については、こちらのドキュメントをご覧ください)。 「プリントサーバー」 > お使いのサーバーで、「ドライバー」を選択します。インストールされているすべてのプリンタードライバーが表示されます。削除したいドライバーを右クリックし、「ドライバーパッケージの削除」を選択します。特にinfファイルと関連ファイルなど、すべてを確認してください。
手軽なGUI方式をご希望の場合は、printui /s /t2管理者権限のコマンドプロンプトで実行してください。プリントサーバーのプロパティウィンドウが開きます。そこでドライバーを探して削除してください。印刷管理コンソールほど徹底的ではありませんが、素早くクリーンアップできます。
まとめると、プリンターが削除できなくなるのは、隠れたドライバーやレジストリエントリの残骸が原因である場合があります。スプーラーのリセット、レジストリのクリーンアップ、ドライバーの削除を組み合わせることで、これらのゴーストを完全に除去できる場合が多いです。ただし、Windowsは細かいことに細心の注意を払う必要があるため、重要なものを削除しないように注意してください。