ネットワーク共有プリンターへの接続に関するトラブルを解決しよう!

こんにちは。

Windows プラットフォーム サポートの丸山です。

さて、弊社では最近、Windows 7 および Windows Server 2008 R2 などの環境から、ネットワーク共有プリンターに接続したときの問題に関するお問い合わせを非常にたくさんいただきます。

もちろん、弊社サポートサービスにお問い合わせいただくことで、問題解決のお手伝いをさせていただくことが私の仕事なのですが、今回は、弊社の報告事例をもとに、いくつか実績のある対処策についてご紹介させていただきます。

ネットワーク共有プリンターに接続できない問題が発生した場合の初期対応として、少しでもお力になれれば幸いです。

※2013年12月5日、最新の事例報告などを踏まえ、対処策を加筆、修正しました。

(1) 印刷に関する更新プログラムの適用

最初の対応策は、弊社で確認された既知の複数の問題における更新プログラムのご案内です。

Windows 7 環境、および Windows Server 2008 R2 環境の印刷機能では、リリース以降、複数の問題が報告され、修正されておりますが、その中でも下記の 3 つの更新プログラムでは、特にお問い合わせの多い問題について、様々な修正が行われております。

このため、まずはこれら 3 つの更新プログラムを問題の発生するクライアント端末、およびプリント サーバーに適用していただき、状況に変化があるかどうかをご確認ください。

マイクロソフト セキュリティ情報 MS13-050 - 重要
Windows 印刷スプーラー コンポーネントの脆弱性により、特権が昇格される (2839894)
https://technet.microsoft.com/ja-jp/security/bulletin/ms13-050

マイクロソフト セキュリティ情報 MS13-062 - 重要
リモート プロシージャ コールの脆弱性により、特権が昇格される (2849470)
https://technet.microsoft.com/ja-jp/security/bulletin/ms13-062

Windows 7 および Windows Server 2008 R2 のコア コンポーネントの印刷に関するロールアップ更新プログラムについて
https://support.microsoft.com/kb/2647753 

なお、KB2647753 の更新プログラムは、Windows 7 および Windows Server 2008 R2 専用となります。Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008 環境には適用できませんので、ご注意ください。

(2) ネットワーク共有プリンターへの接続情報の削除

ふたつ目は、ネットワーク共有プリンターへの接続時に作成されるキャッシュ情報が影響してしまうという問題への対応策です。

Windows では、ネットワーク共有プリンターへの接続が行われる場合、標準的な印刷設定や、プリンター固有のパラメーターなどを取得するためにプリント サーバーと印刷設定の同期処理が実行され、キャッシュとして保持します。

弊社では、ここで保持されているキャッシュ情報が影響し、ネットワーク共有プリンターが正常に動作しないというお問い合わせをいただくことがございます。

ネットワーク共有プリンターへの接続ができない、印刷ができないといった問題が発生した場合には、以下の手順にてキャッシュ情報の削除をお試しください。

- Windows Vista / Windows 7 環境での印刷に関するレジストリ情報のクリーンアップ

Windows Vista、Windows Server 2008、Windows 7、および Windows Server 2008 R2 環境では、以下の手順にてレジストリ情報の削除を行います。

1. 管理者権限のコマンド プロンプトを起動します。

2. 以下のコマンドを実行して、スプーラー サービスを停止します。

net stop spooler

3. 以下のレジストリ キーを丸ごと削除します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider

※レジストリ キーの削除にて、システムが不安定になることはございませんが、念のため、事前のバックアップを推奨します。

4. 以下のコマンドを実行して、スプーラー サービスを開始します。

net start spooler

5. ネットワーク プリンターへの接続を再度お試しいただき、状況に変化があるかどうかをご確認ください。

なお、およそ200を超えるネットワーク共有プリンターへの接続情報がキャッシュされているような環境では、レジストリーを削除すると、スプーラー サービス再起動後、キャッシュの同期処理のためにスレッド プールを使い切ってしまい、スプーラー サービスが応答しなくなってしまうという問題が確認されています。

多数のネットワーク共有プリンターが登録されているユーザーがログオンする場合には、キャッシュの削除を行う前に、下記サポート技術情報に記載されている、修正プログラムの適用をご検討ください。

The Spoolsv.exe process stops responding when you connect to more than 200 network printers from a computer that is running Windows 7 or Windows Server 2008 R2

https://support.microsoft.com/kb/2697865/en

- Windows XP 環境での印刷に関するレジストリ情報のクリーンアップ

Windows XP および Windows Server 2003 環境では、以下の手順にてレジストリ情報の削除を行います。

1. 管理者権限のコマンド プロンプトを起動します。

2. 以下のコマンドを実行して、スプーラー サービスを停止します。

net stop spooler

3. 以下のレジストリ キーを丸ごと削除します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\LanMan Print Services

※レジストリ キーの削除にて、システムが不安定になることはございませんが、念のため、事前のバックアップを推奨します。

4. 以下のコマンドを実行して、スプーラー サービスを開始します。

net start spooler

5. ネットワーク プリンターへの接続を再度お試しいただき、状況に変化があるかどうかをご確認ください。

(3) 非同期 RPC の無効化

みっつ目の対応策は、Windows Vista 以降で導入された、新しい通信プロトコルを使用する場合における問題への対応策でございます。

Windows 7 や Windows Server 2008 R2 を含む、Windows Vista 以降の Windows では、印刷機能において、新たに非同期 RPC を使用した通信を行うように機能追加が行われました。

しかしながら、弊社では非同期 RPC を使用した場合にのみ問題が発生する、というお問い合わせが複数ございますため、お問い合わせの環境で非同期 RPC を無効化することで現象が回避されるかをご確認ください。

- 非同期 RPC の無効化手順

非同期 RPC の無効化は、ネットワーク共有プリンターに接続するクライアント端末の設定を変更します。

1. 現象の発生するクライアント コンピューターにログオンします。

2. 管理者権限でレジストリ エディターを起動します。

3. 以下のレジストリ値を設定します。

キー : HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers

名前 : EnabledProtocols

種類 : REG_DWORD

値  : 6

※キーが存在しない場合には作成してください。

※すでに値が存在する場合には、上書きしてください。 

4. レジストリ エディターを終了します。

5. コンピューターを再起動します。

このレジストリ設定は、Windows 7 および Windows Server 2008 R2 環境のみで有効な設定ですのでご注意ください。

(4) "コンピューターの起動およびログオンで常にネットワークを待つ" ポリシーの設定

最後の対応策は、コンピューター起動時にネットワークへの接続が行われていないことにより発生する問題への対応策です。

クライアント端末となる Windows XP、Window Vista および Windows 7 環境では、ログオン時にネットワーク接続が完了していない場合にも、コンピューターに保存されているキャッシュ資格情報をもとに、ドメイン アカウントでのログオンが可能となります。

本設定では、キャッシュ情報を使用してログオンが行われた場合に発生する問題を回避するために、ログオン時に常にネットワークの接続を待ってからログオンが行われるよう、コンピューターの動作を変更いたします。

※ Windows Server 2008 以降を実行するサーバーでは、このポリシー設定は無視され、コンピューターの起動、およびログオン時に常にネットワークを待ちます。

1. コンピューターに管理者権限でログオンし、ローカル グループ ポリシー エディターを起動します。

2. 左側のツリーより、以下の順番で、ツリーを開きます。

[コンピューターの構成] -> [管理用テンプレート] -> [システム] -> [ログオン]

3. 右側のペインより、[コンピューターの起動およびログオンで常にネットワークを待つ] をダブル クリックします。

4. [設定] タブより、[有効] のラジオ ボタンをクリックします。

5. [OK] をクリックし、ウィンドウを閉じます。

6. [ローカル グループ ポリシー エディター] を終了します。

7. コンピューターを再起動します。

 

これらの対応策を実施しても、すべての問題を解決できるとは限りませんが、自信を持ってお送りできる対応策が並んでおりますので、まずはお試しいただけますと幸いです。

調布では、今年もちらほら雪が降る日を見かけます。まだまだ寒さが続きそうです。

みなさまも、体調管理には十分にお気をつけください。ではまた。