WindowsでRDPのプリンター転送が効かない原因と対処 設定確認から復旧手順まで

WindowsでRDPのプリンター転送が効かないときは、最初に見る場所は3つです。接続元PCの mstsc でプリンター転送が有効か、接続先で Do not allow client printer redirection が有効になっていないか、そしてセッション内に (redirected n) のプリンターが出ているかです。RDPのプリンターリダイレクトは、ローカル接続プリンターだけでなくネットワークプリンターも対象で、Easy Print を使える構成なら接続先に個別ドライバーを入れずに動かせます。 (Microsoft Learn)

「プリンターがまったく出ない」のか、「名前は出るのに印刷できない」のかで、見る場所は変わります。この記事では、設定確認だけで終わらず、更新や権限の影響、Print Spooler やポリシーまで含めて、実務で復旧しやすい順番で整理します。

目次

まず最初に確認したい3つ

  • 接続元PCで mstsc を開き、[ローカル リソース] > [プリンター] にチェックが入っているか確認します。社内配布の .rdp ファイルを使っているなら、redirectprinters:i:1 になっているかも見てください。ここがオフだと、接続先で何を直してもプリンターは出ません。 (Microsoft Learn)
  • 接続先で Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Printer Redirection を開き、Do not allow client printer redirection が Enabled になっていないか確認します。Enabled ならプリンター転送はブロックされ、設定変更後は接続先の再起動が必要です。 (Microsoft Learn)
  • セッション内で 設定 > Bluetooth とデバイス > プリンターとスキャナー を開き、(redirected n) が付いたプリンター名が出ているか確認します。RDPで転送されたプリンターはこの形式で表示されます。 (Microsoft Learn)

迷ったら、セッション内の PowerShell で次を実行すると、Easy Print で認識されているプリンターだけを確認できます。 (Microsoft Learn)

Get-Printer | ? DriverName -eq "Remote Desktop Easy Print" | Sort-Object | FT -AutoSize

症状で切り分ける

  • プリンターが1台も出ない
    まず疑うのは、接続元の mstsc 設定、.rdp ファイルの redirectprinters、接続先GPOの Do not allow client printer redirection、または接続元Windows端末側の DisablePrinterRedirection レジストリです。Azure Virtual Desktop や Windows 365 では、初期状態でプリンター転送が無効な構成もあります。 (Microsoft Learn)
  • プリンター名は出るのに印刷だけ失敗する
    Easy Print の優先順、接続先に必要なドライバーが見つからない状態、Point and Print Restrictions、Print Spooler の不調を疑います。特にイベント ID 1111、23、215、4098、8192 が出る場合は、ドライバー配布や制限ポリシーが絡んでいる可能性が高いです。 (Microsoft Learn)
  • セッションの既定プリンターが勝手に変わる
    Do not set default client printer to be default printer in a session の影響を確認します。既定では、クライアントの既定プリンターがセッションの既定プリンターとして扱われます。 (Microsoft Learn)
  • プリンターだけでなくドライブ転送も同時に効かない
    RDPの個別設定ではなく、接続先側のリダイレクト基盤そのものが無効化されている可能性があります。特に fEnablePrintRDR と fEnableRDR が 0 だと、プリンターとドライブの両方が転送されません。 (Microsoft Learn)

クライアント側の設定でRDPのプリンター転送がオフになっている

RDPのプリンター転送は、接続元で許可していないと始まりません。mstsc のチェックボックスだけでなく、配布済みの .rdp ファイルに redirectprinters:i:0 が残っているケースもあります。ここは「見落としやすいのに、直せば即復旧する」典型です。 (Microsoft Learn)

もうひとつ実務で見落としやすいのが、接続元Windows端末に設定されたローカルレジストリです。Microsoft は、HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client の DisablePrinterRedirection=1 で、その端末からのプリンター転送を止められると案内しています。特定のPCだけ失敗する なら、この設定を最初に疑う価値があります。 (Microsoft Learn)

なお、RDP側では「このプリンターだけ転送する」という細かい選択はできません。有効にすると、ローカルで利用可能なプリンターがまとめて転送されるのが標準の挙動です。不要なプリンターまで見えて困る場合は、RDPではなく端末側のプリンター整理や既定プリンター運用で吸収する方が現実的です。 (Microsoft Learn)

接続先のポリシーでプリンターリダイレクトが禁止されている

接続先のWindows ServerやリモートPCで、Do not allow client printer redirection が Enabled だと、クライアント側でいくら設定してもプリンターは転送されません。しかもこのポリシーが有効なときは、Use Remote Desktop Easy Print printer driver first の設定は無視されます。つまり、まずブロックを外さない限り、Easy Print の調整をしても前に進みません。 (Microsoft Learn)

オンプレミスの通常のWindows環境では、OS既定でプリンター転送がブロックされているわけではありません。一方で、Azure Virtual Desktop の新規ホストプールや Windows 365 の新規 Cloud PC は、プリンター転送が無効な初期構成になるケースがあります。さらに、複数箇所の設定が競合した場合は より厳しい設定が優先 されます。クラウド側の設定変更が入った直後に急に使えなくなったなら、この系統を疑うべきです。 (Microsoft Learn)

Easy Printとドライバー整合性で詰まる

RDPのプリンター転送は高レベルのリダイレクト方式で、Easy Print が使える構成なら接続先にそのプリンターの個別ドライバーは不要です。必要なのは、接続元PCでプリンターが正常に使えること と、そのローカルドライバーが正しく入っていることです。ここを誤解して、接続先だけを何度も触っても直らないことがよくあります。 (Microsoft Learn)

ここで重要なのが、Use Remote Desktop Easy Print printer driver first の意味です。公式の ADMX 説明では、Enabled または Not configured なら Easy Print を先に試し、使えなければ接続先の一致ドライバーを使う 挙動です。逆に Disabled でも Easy Print が完全に無効になるわけではなく、まず一致ドライバーを探し、見つからなければ Easy Print を試す 挙動です。ネット上では「Disabled = Easy Print オフ」と雑に説明されがちですが、ここは切り分けの精度を左右します。 (Microsoft Learn)

さらに、Specify RD Session Host server fallback printer driver behavior は既定でオフです。Easy Print も一致ドライバーも使えない状態では、プリンター自体がセッションに出てこないことがあります。一般的な文書印刷をまず復旧したい なら、Easy Print 優先に戻して症状が変わるか確認するのが手堅いです。逆に、特殊な給紙設定やメーカー固有機能まで必要な運用では、接続先側のドライバー戦略を別途詰めた方が安定します。 (Microsoft Learn)

更新や権限変更が絡むケース

更新後に急にRDPのプリンター転送が効かなくなったときは、単純な不具合よりも 印刷まわりのセキュリティ変更 を疑った方が早いことがあります。Microsoft は 2021 年 7 月以降の更新で、PrintNightmare 対策として、非管理者がプリントサーバーに新しいプリンタードライバーをインストールできないよう既定動作を強化しました。 サーバー側でドライバーの一致が必要な構成ほど、更新や権限の影響を受けやすい と考えると切り分けしやすいです。 (Microsoft サポート)

イベントログで 4098、8192、1111、23、215 が出ているなら、ドライバーのダウンロード失敗、適合ドライバー不足、Point and Print Restrictions が絡んでいる可能性があります。特に Driver ... is unknown 系や driver was not found 系のメッセージは、接続先が必要なドライバーを扱えずに失敗しているサインです。 (Microsoft Learn)

注意したいのは、古い対処法のように Point and Print Restrictions を無条件で緩めることです。Microsoft は、Print Spooler を持つ端末・サーバーでは、警告と昇格要求を伴う安全な設定を推奨しています。まずは Easy Print 優先の確認、イベントログ確認、管理者権限での適切なドライバー配布 を先に行い、制限緩和は最後に判断する方が安全です。 (Microsoft サポート)

Print Spoolerや権限の問題を確認する

まずは Print Spooler を再起動する

Print Spooler が止まっている、または内部で詰まっていると、プリンター認識や印刷処理が正常に進みません。Microsoft は、Services からの再起動に加えて、管理者権限のコマンドプロンプトまたは PowerShell での再起動手順を案内しています。イベントログに初期化エラーが出ていないかも併せて確認してください。 (Microsoft Learn)

net stop spooler
net start spooler

または:

Restart-Service -Name spooler

キューが詰まっているならスプールを掃除する

再起動だけで直らないときは、Spooler を停止したうえで %WINDIR%\system32\spool\PRINTERS の中身を消し、Spooler を再開する方法が有効です。印刷キューが壊れているケースでは、ここで復旧することがあります。 (Microsoft サポート)

管理者向け: イベントが出ないのにプリンター転送だけ失敗する場合

ドライブ転送は動くのに、プリンター転送だけ効かない。しかもイベントが出ない。 こういう厄介なケースでは、Print Spooler のセキュリティ記述子から AU(Authenticated User)の ACL が欠けている可能性があります。Microsoft の KB でも、この ACL 欠落が原因で、Terminal Services が Spooler を正しく開けず失敗する例が案内されています。まずは現在の設定を確認してください。 (Microsoft Learn)

sc sdshow spooler

ここは 管理者向けの最終手段 です。sc sdset を使う場合は、現在の出力を退避し、既存のセキュリティ記述子を保ったまま不足している ACL だけを追加する形で扱う必要があります。現在値を消して丸ごと上書きすると、別の障害を増やしかねません。 (Microsoft Learn)

プリンターだけでなくドライブ転送も同時に効かないなら

接続先サーバーで、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\fEnablePrintRDR と fEnableRDR が 0 になっていないか確認します。Microsoft は、この2つが 0 だとプリンターとドライブの両方のリダイレクトが失敗すると案内しています。ここに当たるなら、個別のプリンタードライバー問題ではありません。 (Microsoft Learn)

10分で進める復旧手順

  1. まず接続元PCでそのプリンターがローカル印刷できるか確認します。ローカルで使えないプリンターは、RDPでも正しく転送されません。 (Microsoft Learn)
  2. mstsc の [ローカル リソース] > [プリンター] を確認し、.rdp ファイルを使っているなら redirectprinters:i:1 も確認します。 (Microsoft Learn)
  3. セッションに入り、(redirected n) のプリンターが見えるか、見えなければ PowerShell の Get-Printer で Easy Print 認識を確認します。 (Microsoft Learn)
  4. 接続先で Do not allow client printer redirection を確認し、Enabled なら解除します。変更後は接続先を再起動して反映させます。 (Microsoft Learn)
  5. プリンター名は出るのに印刷できないなら、Use Remote Desktop Easy Print printer driver first を Enabled または Not configured に寄せて、ドライバー優先順の影響を切り分けます。 (Microsoft Learn)
  6. イベント ID 1111、23、215、4098、8192 が出ているなら、Point and Print Restrictions とドライバー配布、管理者権限の要否を確認します。 (Microsoft Learn)
  7. まだ直らなければ、Print Spooler を再起動し、必要ならスプールを掃除します。プリンターとドライブが両方ダメなら fEnablePrintRDR と fEnableRDR、イベントが出ないのにプリンターだけダメなら Spooler の ACL を確認します。 (Microsoft Learn)

RDPのプリンター転送は、原因を一気に広く疑うと長引きます。「出ない」のか、「出るけれど印刷できない」のか を先に分け、次に 接続元設定 → 接続先ポリシー → Easy Print / ドライバー → Spooler / 権限 の順で追うと、最短で原因にたどり着けます。まずは mstsc のプリンターチェックと、接続先GPOの Do not allow client printer redirection から確認してください。 (Microsoft Learn)

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次