Как вернуть печать в сеанс удалённого рабочего стола
Если принтер в RDS виден, но не печатает, сначала выясните, как он подключён: перенаправлен с компьютера пользователя или установлен как сетевая очередь. Затем проверьте настройку RDP, политику на узле сеансов и саму очередь. Я покажу порядок проверки, который не начинается с удаления драйверов и перезапуска службы.
Сначала выясните, какой это принтер
В RDS под словом «принтер» часто скрываются две разные схемы. Первая — локальное устройство пользователя, перенаправленное в удалённый сеанс по RDP. Вторая — общая сетевая очередь, установленная на сервере печати или непосредственно на узле сеансов. Для человека у монитора это может выглядеть одинаково, но задания идут разными путями. Пока не назвали путь, советы вроде «поставьте драйвер на сервер» — стрельба по очереди печати с закрытыми глазами.
Если пропал именно локальный принтер, проверьте настройки клиента «Подключение к удалённому рабочему столу»: на вкладке «Локальные ресурсы» должен быть выбран пункт «Принтеры». Для RDP-файла этому соответствует параметр redirectprinters:i:1. Затем проверьте политику узла сеансов, ограничения шлюза и подключается ли пользователь к нужному серверу. Это отдельный путь проверки; состояние сетевой очереди на файловом или печатном сервере само по себе не объяснит, почему локальный принтер не появился в сеансе.
Если принтер отображается, отправьте небольшое задание из того же приложения и посмотрите, появляется ли оно в очереди именно этого принтера. Проверьте также печать вне RDP и у другого пользователя: так становится видно, проблема привязана к устройству, приложению, профилю или терминальному сеансу. Запишите точное имя очереди и время отправки. Время и имя полезнее фразы «оно опять зависло»: по ним можно сопоставить задание с журналом, а не перебирать драйверы наугад.
Зафиксируйте масштаб сбоя до любых исправлений: не работает один принтер, одна программа, один пользователь или все подключения к узлу? Если у коллеги с того же компьютера та же очередь печатает, это меняет направление поиска: проверяйте профиль и эффективные политики конкретного пользователя. Если проблема появилась у нескольких людей одновременно, сравните время сбоя с изменением групповой политики, обновлением Windows или заменой драйвера. Это не гарантирует, что виноват именно последний пункт, зато убирает бессистемное «попробуем ещё одну настройку».
- Локальный принтер через RDP
- Сетевая очередь печати
- Печать только из одного приложения
Проверьте драйверы до очистки
Удалять все сторонние драйверы по совпадению названия производителя нельзя. На одном сервере могут одновременно жить очереди разных моделей, и фильтр вроде HP|Canon|Xerox ничего не знает о том, какая из них нужна бухгалтерии или приложению. Сначала перечислите установленные драйверы командой Get-PrinterDriver, затем сверьте каждый с очередями и задачами пользователей. Команда Remove-PrinterDriver -Name "Точное имя" рассчитана на адресное действие; параметра -Force у неё нет. Автоматическая чистка по белому списку может отключить исправную печать быстрее, чем успеет вывести отчёт.
Для перенаправленных клиентских принтеров в RDS обычно используется Remote Desktop Easy Print. Если этот механизм работает, ставить на узел сеансов тот же модельный драйвер, что и на компьютере пользователя, не требуется. Сначала проверьте политику «Use Remote Desktop Easy Print printer driver first» и журнал, а конкретный драйвер устанавливайте только после подтверждённой необходимости. Универсальный драйвер тоже не волшебная палочка: поддержка зависит от модели, форматов и функций устройства, поэтому совместимость проверяют на реальном задании, а не по красивому названию пакета.
Перед изменениями сохраните пакеты драйверов отдельно от списка очередей. В командной строке от имени администратора можно выполнить pnputil /enum-drivers, чтобы увидеть сторонние пакеты в хранилище, а затем pnputil /export-driver * C:\PrinterDriverBackup, чтобы экспортировать пакеты в заранее подготовленный каталог. Это не резервная копия всей системы печати: в ней нет очередей, портов, прав доступа и политик. Если нужно удалить пакет из хранилища, сначала точно сопоставьте его с устройством; pnputil /delete-driver oem42.inf /uninstall удаляет указанный пакет и убирает его с устройств, которые его используют. Флаг /force позволяет удалить занятый пакет — это как раз тот случай, когда осторожность дешевле эксперимента.
Экспортируйте пакеты только туда, где их можно будет найти и прочитать после сбоя: каталог должен быть доступен администратору, а копия — находиться не в очереди печати и не в профиле пользователя, который собираются очищать. После экспорта откройте каталог и убедитесь, что там появились файлы. Не проверили результат — значит, копию пока нельзя считать готовой. И ещё раз: резерв драйверных пакетов помогает вернуть сами пакеты, но не восстанавливает назначения принтеров, права пользователей и настройки портов.
- Сверить драйвер с очередями
- Экспортировать пакеты драйверов
- Удалять только подтверждённо лишнее
Настройте политику перенаправления
Политики перенаправления проверяют на узле сеансов, а не включают наугад в редакторе контроллера домена. Для доменной среды откройте консоль управления групповыми политиками, выберите политику, применяемую к компьютеру с ролью RD Session Host, и проверьте путь: Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Printer Redirection. gpedit.msc редактирует локальную политику конкретного компьютера; это не замена проверке доменной GPO и её области действия.
Параметр Do not allow client printer redirection при включённом состоянии запрещает перенаправление клиентских принтеров. По документации Microsoft, если его не настраивали, сама служба RDS по умолчанию разрешает такое сопоставление; поэтому искать «отключённый по умолчанию» проброс нужно не всегда. Отдельно проверьте Use Remote Desktop Easy Print printer driver first: если параметр не задан, Easy Print всё равно выбирается по умолчанию. Не смешивайте запрет редиректа, выбор драйвера и выбор принтера по умолчанию — это разные настройки с разным результатом.
После правки проверьте, к какому узлу привязана политика, нет ли конкурирующей настройки выше по доменной структуре и попадает ли компьютер в нужную группу. При необходимости обновите политики командой gpupdate /force, затем завершите и заново откройте RDP-сеанс: уже созданный сеанс может сохранить прежнее состояние перенаправленных устройств. Я не обещаю, что одна галочка вылечит любую очередь. Зато после этой проверки станет ясно, разрешает ли именно политика перенаправление и какой драйверный путь выбрал RDS.
Для проверки результата смотрите не только на саму GPO, но и на то, что применилось к конкретному узлу. В консоли групповых политик можно проверить результирующий набор параметров для компьютера и пользователя; важно убедиться, что нужная политика не перекрыта другой. После этого повторите вход пользователя и проверьте появление устройства в новом сеансе. Старый сеанс не всегда обновляет уже созданные перенаправленные очереди, поэтому повторный вход — часть проверки, а не ритуал ради красивого отчёта.
- Проверить область доменной GPO
- Проверить запрет редиректа
- Заново подключить RDP-сеанс
Не путайте RDS-коллекцию с печатной очередью
Коллекция RDS определяет, какие пользователи подключаются к каким узлам сеансов и какие клиентские устройства разрешено перенаправлять. Она не превращает сетевой принтер в очередь и не устанавливает его по IP-адресу автоматически. Команды rdsconfig -setprinter для такого назначения в штатной документации Microsoft нет; эту инструкцию из черновика я убрал. Если сотрудникам нужна общая сетевая очередь, подключайте её как принтер через сервер печати или назначайте средствами управления Windows с нужными правами и областью применения.
У общей очереди есть собственный порт, драйвер, настройки бумаги, цветности, двусторонней печати и разрешения. Проверьте их на стороне сервера печати и на узле сеансов, если приложение печатает именно в установленную там очередь. Выбирайте драйвер производителя для конкретной модели и поддерживаемой версии Windows; не копируйте автоматически драйвер с клиентского ПК. Для RDP-перенаправления действует другой путь через Easy Print, поэтому требование «одинаковый драйвер на обеих сторонах» здесь не универсально.
Если у одного пользователя печатает локальная перенаправленная очередь, а у другого — общая сетевая, зафиксируйте это отдельно. У них могут различаться права на очередь, назначение в GPO, имя подключения и настройки профиля. Когда проблема только у одного сотрудника, сначала сравните его эффективные политики и подключённую очередь с рабочим сеансом коллеги. Когда не печатает общая очередь у всех, проверяйте сервер печати, службу диспетчера очереди, доступность устройства и свободное место для временных заданий. Никакого «двойного проброса» сама близость двух типов принтеров не доказывает.
Разделите права на печать и право перенаправлять устройство. Для общей очереди пользователь должен иметь доступ к этой очереди, а для локального принтера разрешение на RDP-редирект должно действовать и на клиенте, и на узле сеансов. Одно не выдаёт другое. Если задачу печатает только приложение, убедитесь, что оно запускается от той же учётной записи и видит ту же очередь, что и пользователь в интерактивном сеансе. Служебный запуск программы иногда использует иной контекст доступа; проверять это нужно отдельно, без вывода, что «RDS сломал принтер».
- Общая очередь — через сервер печати
- RDS-редирект — через настройки RDP
- Драйвер — по модели и роли
Проверьте задание в сеансе и журнале
Печатайте тестовую страницу, а затем документ из того приложения, где возникла проблема. Проверяйте результат из реального пользовательского сеанса: локальная тестовая страница на сервере не доказывает, что редирект RDP настроен правильно. Если общая очередь печатает тестовую страницу, но молчит конкретная программа, проверьте выбранный в приложении принтер, формат бумаги и настройки печатной формы. Если не печатает только перенаправленное устройство, вернитесь к настройкам RDP-клиента и политике узла, а не меняйте сетевой порт общей очереди.
В Event Viewer откройте Applications and Services Logs → Microsoft → Windows → PrintService → Operational и при необходимости включите журнал. Сопоставьте время отправки задания с событиями и посмотрите, на каком компьютере оно появилось — на клиенте, узле сеансов или сервере печати. Журнал помогает увидеть ход обработки и ошибки, но его нельзя считать полной историей каждого задания, если канал не был включён или его размер ограничен. Перед очисткой очереди сохраните нужные сведения: удалённое задание уже не поможет выяснить, где остановился поток.
Текущие задания в выбранной очереди можно посмотреть командой Get-PrintJob -PrinterName "Имя очереди". Она показывает задания этой очереди; фильтр Where-Object {$_.JobStatus -eq 'Error'} из черновика не является универсальным мониторингом, а сам Get-PrintJob был вызван без обязательного -PrinterName, поэтому в таком виде не выбирает очередь. Сначала проверьте, что задание действительно осталось в очереди, затем смотрите статус устройства, службу спулера и события на соответствующем узле. Перезапуск Spooler может убрать зависшую очередь, но затронет печать других пользователей на этом компьютере. Это действие — после диагностики и согласования, а не первый пункт памятки.
Если после диагностики всё же нужен перезапуск диспетчера очереди, предупредите пользователей и сначала запишите имя очереди, номер задания и найденное событие. После запуска службы отправьте новое задание и проверьте, что оно прошло тот же путь до устройства. Не ставьте постоянный опрос очереди каждые несколько минут только потому, что такая цифра красиво смотрится в инструкции: период, уведомления и ответственный администратор зависят от нагрузки и порядка работы компании. Без владельца сигнала мониторинг превращается в ещё один непрочитанный журнал.
- Напечатать страницу из сеанса
- Сопоставить время с журналом
- Проверить очередь на нужном узле
Частые вопросы
Почему принтер виден в RDS, но задание не выходит?
Сначала выясните, перенаправлен он из RDP или подключён как общая сетевая очередь. Затем проверьте, где именно осталось задание: в приложении, очереди узла сеансов или сервере печати.
Нужно ли ставить на RDS тот же драйвер, что на клиенте?
Для перенаправленных принтеров обычно используется Remote Desktop Easy Print, и одинаковый модельный драйвер на сервере не обязателен. Для сетевой очереди нужен совместимый драйвер на сервере печати.
Как разрешить перенаправление принтеров в RDP?
Проверьте флажок «Принтеры» на вкладке «Локальные ресурсы» клиента и политику `Do not allow client printer redirection` на узле сеансов. Включённая политика запрещает перенаправление.
Можно ли удалить все неиспользуемые драйверы одной командой?
Не стоит удалять драйверы по названию производителя или неподтверждённому списку. Сначала сопоставьте драйверы с очередями, экспортируйте нужные пакеты и удаляйте только проверенный объект.
Что проверить, если не печатает только одна программа?
Сравните выбранную в программе очередь, формат бумаги и результат печати из другой программы. Если тестовая страница и другие приложения работают, проблема может быть в настройках печатной формы.
Источники
- Microsoft Learn — Устранение неполадок перенаправления принтера в Windows Server: Easy Print, параметр RDP-клиента и расположение политики. https://learn.microsoft.com/en-us/troubleshoot/windows-server/remote/printer-redirection-not-work
- Microsoft Learn — ADMX_TerminalServer Policy CSP: значение политики Do not allow client printer redirection и поведение по умолчанию. https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-admx-terminalserver
- Microsoft Learn — Синтаксис PnPUtil: перечисление, экспорт и адресное удаление пакетов драйверов. https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/pnputil-command-syntax
- Microsoft Learn — Remove-PrinterDriver: параметры командлета и удаление драйвера очереди. https://learn.microsoft.com/en-us/powershell/module/printmanagement/remove-printerdriver
- Microsoft Learn — Get-PrintJob: получение текущих заданий выбранного принтера. https://learn.microsoft.com/en-us/powershell/module/printmanagement/get-printjob
- Microsoft Learn — Рекомендации по диагностике печати в Windows Server: проверка сервера, драйвера, спулера и тестовой страницы. https://learn.microsoft.com/en-us/troubleshoot/windows-server/printing/troubleshoot-printer-guidance



