KB5006670にネットワークプリンターから印刷できない不具合。0x00000709エラーや「要素が見つかりません。」と表示されて印刷不能 [Update 4]

WindowsUpdate

Printer Issue

2021年10月13日にWindowsUpdateに配信されたWindows10 バージョン21H1 / 20H2 / 2004用セキュリティ更新プログラムKB5006670以降をインストールすると、一部環境において、ネットワークプリンター・共有プリンターから印刷できない不具合が発生しています。

更新履歴
① Microsoft公式の対処方法を加筆。 [2021/10/31]
② 対処方法Bに2021年11月10日公開のKB5007186を加筆。 [2021/11/10]
③ 対処方法Cの置き換え方法が少し複雑になったため手順を加筆。 [2021/11/11]
④ 記事下部に修正情報を加筆。本不具合は、2021年11月23日公開のプレビューリリースで修正されました。詳細は記事下部参照。 [2021/11/23] [New]

不具合概要

KB5006670以降をインストールすると、ネットワークプリンター・共有プリンターから印刷ができなくなる場合があります。印刷しようとすると0x00000709 (ERROR_INVALID_PRINTER_NAME)、0x0000007c (ERROR_INVALID_LEVEL)、0x000006e4 (RPC_S_CANNOT_SUPPORT)エラーや、「要素が見つかりません。」(Element not found.)と表示されて印刷に失敗する場合があります。

備考: 2021年9月のセキュリティ更新プログラムKB5005565をインストールすると0x0000011bのエラーコードが表示されて印刷ができなくなる不具合が発生していましたが、今回はそれとはまた別件です。0x0000011bエラー・2021年9月の件については以下の記事をご覧ください。

  KB5005565に印刷ができなくなる不具合。対処方法あり

対処方法・回避策

もし、この不具合が発生する場合は、対処方法として、以下のいずれかをご検討ください。

Microsoft公式の対処方法

Microsoftがこの不具合を認め、公式の対処方法を公開しました。

対処方法の前提条件として、プリントサーバーにKB5006670以降をインストールする前に、プリントクライアントPCに2021年1月以降の更新プログラムをインストールしている必要があります。

条件を満たせる場合は、ネットワークセキュリティおよびVPNソリューションによって、プリントクライアントPCが以下のポート範囲でプリントサーバーへのRPC over TCP接続を確立できるようにしてください。

・デフォルトの開始ポート: 49152
・デフォルトの終了ポート: 65535
・ポート範囲: 16384ポート

さらに、詳細は以下の記事を参照してください。

How to configure RPC to use certain ports and how to help secure those ports by using IPsec.
The default dynamic port range for TCP/IP has changed since Windows Vista and in Windows Server 2008

前提条件を満たせない場合や上手くいかなかった場合は、以下の対処方法A~Dのいずれかをお試しください。

対処方法A: プリントサーバーからプリンターを一旦削除して再インストール

プリントサーバーからプリンターを一旦削除したのち、プリンターを再インストールすると正常に動作する場合があります。ただし、環境によっては再設定が面倒かもしれません。

対処方法B: 更新プログラムをアンインストール

一時的な対処方法として、以下の更新プログラムを全てアンインストールすることで印刷できるようになります。

・KB5007186 (2021/11/10公開 セキュリティ更新プログラム)
・KB5006738 (2021/10/27公開 プレビューリリース)
・KB5006670 (2021/10/13公開 セキュリティ更新プログラム)

アンインストール手順は以下。

  1. 『スタートボタン』 → 『設定』 → 『更新とセキュリティ』 → 『更新の履歴を表示する』 → 『更新プログラムをアンインストールする』を選択。
  2. 当該更新プログラムを右クリックして『アンインストール』を選択すればアンインストールされます。
    KB5006670のアンインストール方法
  3. アンインストール後は、更新プログラムが再び入ってこないように『Windows Update』の画面から、『更新を 7 日間一時停止』や、『詳細オプション』の『更新の一時停止』などから停止しておきましょう。
    WindowsUpdateを一時停止

なお、セキュリティ更新プログラムをアンインストールすると脆弱性が未修正のままになることには注意が必要です。

対処方法C: 『C:\Windows\System32\Win32spl.dll』を置き換える

本不具合は『C:\Windows\System32\Win32spl.dll』が悪さをしているようで、KB5006670以降の『Win32spl.dll』(バージョン10.0.19041.1288以降)だと、印刷ができなくなります。一時的な対処方法として、2021年9月のKB5005565時点の『Win32spl.dll』(バージョン10.0.19041.1237)に置き換えることで印刷できるようになります。

KB5005565時点の『Win32spl.dll』はこちらにアップいたしましたので必要な方はどうぞ。置き換える際は、何かあっても元に戻せるように、すでにある『Win32spl.dll』(バージョン10.0.19041.1288以降)のバックアップをお忘れなく。

アクセス許可を求められて置き換えられない場合は以下の手順で『Win32spl.dll』にアクセス許可を付与してください。

  1. 『win32spl.dll』を右クリックして『プロパティ』を選択 → 『セキュリティ』タブ を選択→ ウィンドウ下の『詳細設定』を選択 → 『所有者: TrustedInstaller』右横の『変更 (C)』を選択 → 『選択するオブジェクト名を入力してください』の欄に『Administrators』と入力して『名前の確認』をクリック → 『OK』をクリック → 前の画面に戻ってきたらまた『OK』をクリック → ウィンドウ真ん中『アクセス許可を変更するには[編集]をクリックします。』右横の『編集(E)』をクリック → 『Administrators』を選択して『アクセス許可(P)』欄の『フル コントロール』の『許可』にチェック → 『OK』をクリック → 前の画面に戻ってきたらまた『OK』をクリック
  2. サービス([Windows]+[R]キーを押して『services.msc』と入力してエンター)の『Print Spooler』をダブルクリックして、『サービスの状態』が『開始』になっていたら『停止』に変更して『OK』をクリック

これで『Win32spl.dll』を置き換えられるようになります。

注意点として、KB5006670以降で『Win32spl.dll』に変更が入っているということは、何かしらの脆弱性が修正されている可能性が高く、置き換えることで『Win32spl.dll』に関する脆弱性が未修正のままになる恐れがあります。また、置き換えることで予期せぬ動作が起こる可能性があることもご留意ください。

対処方法D: HPプリンターの場合はCopyFiles機能を有効化する

HPのプリンターをお使いの場合、以下のレジストリを設定することで印刷できるようになる場合があります。

【キー】HKLM\Software\Policies\Microsoft\Windows NT
【DWORD】Printers key named CopyFilesPolicy
【値】1(『1』でCopyFiles機能を有効化、『0』で無効化)

修正 [2021/11/23] [New]

本不具合は、2021年11月23日に公開されたプレビューリリースにて修正されました。以下の更新プログラムをインストールすることでこの不具合は発生しなくなります。

Windows10 バージョン21H2 / 21H1 / 20H2 / 2004
・KB5007253 (2021/11/23公開 プレビューリリース)

Windows11 バージョン21H2
・KB5007262 (2021/11/23公開 プレビューリリース)