プリンターサーバーに繋がらない・ドライバーが更新されない原因はWindowsUpdateだった【PointAndPrint設定】

セキュリティ対策

「昨日まで普通に使えてたのに、今日からプリンターが繋がらない!」

しかも管理者でログインすると繋がるのに、一般ユーザーだと繋がらない…。あの謎の現象、経験したことある人はわかると思うんですが、本当に原因がわかるまで時間がかかるんですよね。

結論から言うと、犯人はWindowsUpdateです。2021年8月以降、PointAndPrint(ポイントアンドプリント)のデフォルト動作が静かに変わっていて、それが原因でプリンターサーバーへの接続やドライバーの自動更新が止まってしまうことがあります。

この記事では、症状・原因・対処法をGPOとレジストリの両面からまとめました。

そもそもPointAndPrintって何?

PointAndPrint(ポイントアンドプリント)とは、プリンターサーバーからクライアントPCへプリンタードライバーを自動配布する仕組みのことです。

正しく動いていれば、ユーザーがプリンターサーバー上のプリンターに接続するだけで、必要なドライバーが自動でインストール・更新されます。キッティング担当者からすると「これがちゃんと動いてくれてなんぼ」という機能ですよね。

2021年8月のWindowsUpdateで何が変わったか

2021年8月、PrintNightmare(プリントナイトメア)という深刻な脆弱性(CVE-2021-34527)が発覚しました。印刷スプーラーの穴を突いてシステム権限を奪われる可能性があるという、かなりやばいやつです。

これを受けてMicrosoftがセキュリティパッチを配布したのですが、そのパッチがPointAndPrintのデフォルト動作も変えてしまったんです。

変更前変更後
一般ユーザーでもドライバーのインストール・更新が可能管理者権限がないとドライバーのインストール・更新が不可

セキュリティ的には正しい対応なんですが、現場からするとたまったもんじゃない…。何もしていないのに翌朝からプリンターが繋がらなくなった、という報告が全国の社内SEから上がったのがこの頃です。

こんな症状が出たら疑ってみて

  • プリンターサーバーのプリンターを追加しようとするとエラー(0x0000007e、0x00000709 など)が出る
  • ドライバーのバージョンが古いまま更新されない
  • 一般ユーザーがプリンターを追加できない
  • 管理者でログインすると繋がるのに、一般ユーザーでは繋がらない

特に最後の「管理者はOK・一般ユーザーはNG」という症状が出たら、ほぼPointAndPrintが原因です!

対処法①:GPOで設定する(ドメイン環境の方はこちら推奨)

Active Directoryのドメイン環境であれば、GPOでの対処がおすすめです。承認済みのプリンターサーバーだけを許可する形で設定できるので、セキュリティを保ちながら問題を解決できます。

グループポリシー管理エディターを開いて、以下のパスに進んでください。

コンピューターの構成
└ 管理用テンプレート
  └ プリンター
    └ ポイントアンドプリントの制限

設定内容はこちら:

  1. 「ポイントアンドプリントの制限」を 有効 にする
  2. 「ユーザーは次の場所のサーバーのみポイントアンドプリントを実行できる」に チェック
  3. 承認されたサーバーに自社のプリンターサーバーのFQDN(例:printserver.example.local)を入力
  4. 「ドライバーのインストール時のセキュリティプロンプト」→ 警告と昇格プロンプトを表示しない
  5. 「ドライバーの更新時のセキュリティプロンプト」→ 警告と昇格プロンプトを表示しない

設定後はクライアントPCで以下を実行してGPOを即時反映させましょう。

gpupdate /force

対処法②:レジストリで設定する(スタンドアロン環境や急ぎの場合)

GPO環境がない場合や、とにかく今すぐ直したい!という場合はレジストリを直接編集します。

以下のキーに移動してください(存在しない場合は新規作成)。

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint

設定する値はこちらです。

値の名前種類データ説明
RestrictDriverInstallationToAdministratorsDWORD0一般ユーザーもドライバーインストール可
NoWarningNoElevationOnInstallDWORD1インストール時の警告・昇格プロンプトを非表示
UpdatePromptSettingsDWORD2更新時の警告・昇格プロンプトを非表示

管理者権限のコマンドプロンプトで以下を実行すれば一括で設定できます。レジストリを手動でポチポチするより楽なのでこちらがおすすめ!

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v RestrictDriverInstallationToAdministrators /t REG_DWORD /d 0 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v NoWarningNoElevationOnInstall /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v UpdatePromptSettings /t REG_DWORD /d 2 /f

設定後はPCを再起動してください。

セキュリティの話もちゃんとしておく

「じゃあ全部0にすれば解決じゃん!」と思いたいところですが、RestrictDriverInstallationToAdministrators = 0 にするとPrintNightmare対策が無効になります。急いでいるときほど後で後悔する設定なので、以下はセットで確認しておきましょう。

  • GPOで承認済みのプリンターサーバーを指定した上で設定する
  • プリンターサーバー自体のWindowsUpdateは必ず最新に保つ
  • 不要なPrint Spoolerサービスが動いているサーバーがないか確認する

セキュリティと運用のバランスを取るなら、レジストリ直書きよりGPOで信頼できるサーバーを限定する方法がベターです。

まとめ

項目内容
原因2021年8月のWindowsUpdate(PrintNightmare対応)でPointAndPrintのデフォルト動作が変更
症状プリンターサーバーへの接続不可、ドライバー更新不可(管理者はOK・一般ユーザーはNG)
推奨対処GPOでポイントアンドプリントの制限を設定(承認サーバーを指定)
代替対処レジストリでRestrictDriverInstallationToAdministratorsを0に設定

WindowsUpdateで急に動かなくなった系のトラブルは、原因にたどり着くまでが一番しんどいですよね…。「管理者はOKなのになぜ?」というところから調べ始めるとPointAndPrintにたどり着くのに時間がかかってしまいます。

この記事がその「なぜ?」を解決する一助になれば嬉しいです!