Windowsが共有プリンタに接続できない問題を解決する方法

Windowsで共有ネットワークプリンターに接続しようとすると、特に最近のセキュリティアップデートの後では、エラーが発生することは珍しくありません。「プリンターに接続できません」という厄介なメッセージが表示され、エラーコードが0x0000011b0x00000002などと表示されたとしても、慌てる必要はありません。これらのエラーは通常、ドライバーの問題、セキュリティパッチの競合、またはネットワークパスの不具合が原因です。正直言って、Windowsのアップデートでセキュリティが強化され続けているにもかかわらず、簡単なプリンター共有でさえ面倒なことになるので、少しイライラします。このガイドでは、私が試してみた一般的な修正方法をいくつか紹介します。これらの修正により、エラーを回避して印刷できるようになるかもしれません。

Windowsで共有プリンターの接続エラーを修正する方法

エラー 0x0000011b: Windows はプリンターに接続できません

この問題は、2021年にMicrosoftがPrintNightmare脆弱性を修正するためのセキュリティパッチをリリースした後に頻繁に発生しています。基本的に、Windowsは一部のプリンタードライバーや接続を信頼しなくなります。特にプリントサーバーが古いドライバーやType 4以外のドライバーを実行している場合、この問題が顕著になります。症状としては、共有プリンターに接続しようとすると、あの恐ろしいエラーが発生します。

Connect to Printer Windows cannot connect to the printer. Operation failed with error 0x0000011b.

役立つ理由:修正には、ドライバーのセキュリティレベルの更新または調整、あるいはセキュリティポリシーの微調整が含まれます。通常、より新しく「安全な」ドライバーを導入するか、サーバーのセキュリティ設定を一部下げることで解決します。適用対象:最近Windowsのアップデートをインストールしたばかりで、特に古いサーバー上の共有プリンターを突然追加できなくなった場合。期待される効果:修正を適用した後、再度接続を試みても問題なく動作するはずです。ただし、Windowsの仕様上、最初の試行が失敗する場合があります。手順を繰り返すか、システムを軽く再起動してください。

例えば、プリントサーバー上のプリンタードライバーをType 4ドライバーに更新することは良いスタートです。「デバイスとプリンター」でドライバーを確認するか、管理者権限のコマンドプロンプトからprintui.exe /s を実行してください。Type 3ドライバーしか利用できない場合は、RpcAuthnLevelPrivacyEnabledレジストリエントリを作成することで、セキュリティ制限を一時的に緩和できます。

REG ADD "HKLM\System\CurrentControlSet\Control\Print" /v RpcAuthnLevelPrivacyEnabled /t REG_DWORD /d 0 /f

変更を加えた後は、印刷スプーラーを再起動することを忘れないでください。

Restart-Service Spooler -Force

これは少し技術的に思えるかもしれませんが、実際には、セットアップ中に Windows に接続をもう少し信頼するように指示し、その後で再びロックダウンするだけです。

修正1: 印刷スプーラーサービスを再起動する

画期的なことではありませんが、Windows ではスプーラーを再起動するだけで済む場合もあります。一部のマシンでは、このサービスを再起動することで、プリンターが問題なく接続できるようになりました。管理者権限の PowerShell またはコマンドプロンプトを開いて、次のコマンドを実行してください。

net stop spooler & net start spooler

少しの間待つ必要がありますが、プリンターがリストから消えて再び表示されるので、接続が修復されているはずです。正直なところ、設定によってはこれだけでネットワーク接続エラーが修正されることもあります。

修正2: プリンタドライバを削除して再インストールする

ドライバーが破損しているか古くなっていると、Windows が不調になります。管理者権限のコマンドプロンプトで printui.exe /s /t2 を実行してドライバー一覧を表示してください。問題のあるドライバーを見つけて削除し、関連するプリンターインスタンスもすべて削除してください。以下のコマンドも実行できます。

Remove-PrinterDriver -Name "HP Universal Printing PCL 5"

実際のプリンタドライバ名に置き換えてください。古いドライバを削除した後、スプーラを再起動し、共有プリンタを新規にセットアップしてみてください。一部のマシンでは、これにより0x00000002エラーの原因となるドライバの破損が修正されます。

修正3: ドライバーファイルとレジストリキーを徹底的にクリーンアップする

これは「最後の手段」のようなものですが、私の場合はこれで数台のプリンターが動作しなくなりました。古いドライバーのエントリや保留中のファイル操作が動作を妨げている場合は、以下のレジストリキーを手動で削除してください。

  1. regedit.exe を開き、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperationsを削除します。これは少し奇妙ですが、Windows は古いファイル操作をそのまま残し、プリンターエラーを引き起こすことがあります。
  2. フォルダ内を確認しc:\Windows\System32\spool\prtprocs\x64\x86winprint.dll 以外のすべてのフォルダを削除してください。残っているドライバーファイルは、新規インストール時に問題を引き起こす可能性があります。
  3. HKLM\SYSTEM\CurrentControlSet\Control\Print\Environmentsから、デフォルト以外のすべてのプリントプロセッサとドライバーを削除します。これは、regedit または PowerShell スクリプトを使用して実行できます。

その後、再起動してプリンターを再度追加します。あまり目新しい方法ではありませんが、一部のユーザーにとってはドライバー破損による競合が解消されました。

回避策: UNCパスを使用してローカルポートを使用して接続する

それでもうまくいかない場合は、Windows による自動設定に頼るよりも、UNC パスを使用してローカルポート経由で共有プリンターを接続する方がうまくいく場合があります。その場合は、以下の手順に従ってください。

  • まず、共有プリンターのUNC名を調べます。net view \\192.168.13.200ネットワークエクスプローラーを実行するか、使用してください。UNCは次のようになります\\192.168.13.200\HPM2727_1
  • プリンタ管理コンソールがまだインストールされていない場合はインストールしますdism /Online /add-Capability /CapabilityName:Print. Management. Console~~~~0.0.1.0
  • printmanagement.msc を開きます(スタートメニューで検索)。サーバーの下にある プリンター を右クリックし、プリンターの追加 を選択します。
  • ポートの種類を尋ねられたら [ローカル ポート] を選択し、ポート名として UNC を入力します (例: ) \\192.168.13.200\HPM2727_1
  • ドライバーの選択を続け、必要に応じてドライバーをインストールし、プリンター名を設定して印刷テストを行います。これにより、ネットワーク共有の不具合を完全に回避できます。

すでに経験済みですが、驚くべきことに、この回避策は難しい環境では最も信頼できる可能性があります。

Windowsはあらゆるものを複雑にするため、これらの手動のトリックが唯一の解決策となる場合もあります。困ったときは、これらの方法をいくつか試してみてください。標準の共有がうまくいかない場合でも、これらの方法が役立つかもしれません。